CustomTextField.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // CustomInsetTextField.h
  3. // JasonDevelop
  4. //
  5. // Created by Jason Lee on 2013. 12. 6..
  6. // Copyright (c) jasondevelop. All rights reserved.
  7. //
  8. // NIB에서 로드하는 경우 아래 값을 직접 설정한다.
  9. // hasMoveButton
  10. // disablePrevButton
  11. // disableNextButton
  12. @import UIKit;
  13. @protocol CustomTextFieldDelegate <UITextFieldDelegate>
  14. @optional
  15. - (void)moveToNextField:(id)sender;
  16. - (void)moveToPrevField:(id)sender;
  17. - (void)willHideKeyboard:(id)sender;
  18. - (void)deleteBackward:(id)sender;
  19. @end
  20. typedef enum {
  21. CustomTextFieldSuperviewIsNone = 0,
  22. CustomTextFieldSuperviewIsViewController, //부모뷰가 컨트롤러일 경우,
  23. CustomTextFieldSuperviewIsPopup, //부모뷰가 팝업일 경우,
  24. CustomTextFieldSuperviewIsScrollView, //부모뷰가 컨테이너일 경우,
  25. CustomTextFieldSuperviewIsPopupContentView, //부모뷰가 팝업내의 컨테이너일 경우,
  26. CustomTextFieldSuperviewIsContentView,
  27. CustomTextFieldSuperviewIsChildViewController //부모뷰가 컨테이너일 경우,
  28. } CustomTextFieldSuperview;
  29. extern CGRect gKeyboardRect;
  30. @interface CustomTextField : UITextField {
  31. @protected
  32. CustomTextFieldSuperview _customTextFieldSuperview;
  33. BOOL _autoScrollUp;
  34. }
  35. @property (nonatomic, assign) id <CustomTextFieldDelegate> delegate;
  36. @property (nonatomic, assign) CustomTextFieldSuperview customTextFieldSuperview;
  37. @property (nonatomic, assign) IBInspectable BOOL autoScrollUp;
  38. @property (nonatomic, assign) IBInspectable BOOL disable;
  39. @property (nonatomic, assign) IBInspectable BOOL hasMoveButton; //set with interfacebuilder
  40. @property (nonatomic, assign) IBInspectable BOOL disablePrevButton; //set with interfacebuilder
  41. @property (nonatomic, assign) IBInspectable BOOL disableNextButton; //set with interfacebuilder
  42. @property (nonatomic, strong) IBInspectable NSString *bgImageName;
  43. @property (nonatomic, strong) IBInspectable NSString *bgPressImageName;
  44. @property (nonatomic, strong) IBInspectable NSString *bgDisableImageName;
  45. @property (nonatomic, strong) IBInspectable UIColor *placeHolderColor;
  46. @property (assign, nonatomic) IBInspectable CGRect rectForCapBackground; //set with interfacebuilder
  47. - (id)initWithFrame:(CGRect)frame bgImageName:(NSString *)btnImageName bgPressImageName:(NSString *)bgPressImageName;
  48. - (id)initWithFrame:(CGRect)frame hasMoveButton:(BOOL)hasMooveButton disablePrev:(BOOL)disablePrev disableNext:(BOOL)disableNext;
  49. @end
  50. @interface CustomTextField2 : CustomTextField //circleTextfield
  51. @end
  52. @interface CustomSearchTextField : CustomTextField
  53. @end
  54. @interface CustomMenuTextFieldMenu : NSObject
  55. @property (assign, nonatomic) id target;
  56. @property (assign, nonatomic) SEL selector;
  57. @property (strong, nonatomic) NSString *menu;
  58. @end
  59. @interface CustomMenuTextField : CustomTextField
  60. @property (strong, nonatomic) NSArray *menuArray;
  61. @property (strong, nonatomic) NSArray *menuItems;
  62. @end
  63. @interface CustomButtonTextField : CustomMenuTextField
  64. @end