Bazı yöntemleri geçersiz kıldığım bir UITextField
alt sınıfım var (aşağıdaki kod). Sorun şu ki, ben yazdığımda ve metin rengin marjına ulaştığında, ne yazdığımı göstermeyecek. Hata ayıklama modunda, UIFieldEditor
'un, metin dosyasının daha geniş olduğunu görüyorum. İşte UITextField metni sol tarafta kaydırmıyor
- (instancetype)init
{
self = [super init];
if (self) {
self.edgeInsets = UIEdgeInsetsMake(7, 0, 10, 15);
}
return self;
}
- (id)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
self.edgeInsets = UIEdgeInsetsMake(7, 0, 10, 15);
}
return self;
}
-(id)initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
if(self){
self.edgeInsets = UIEdgeInsetsMake(7, 0, 10, 15);
}
return self;
}
- (CGRect)textRectForBounds:(CGRect)bounds {
return [super textRectForBounds:UIEdgeInsetsInsetRect(bounds, self.edgeInsets)];
}
- (CGRect)editingRectForBounds:(CGRect)bounds {
return [super editingRectForBounds:UIEdgeInsetsInsetRect(bounds, self.edgeInsets)];
}
ben bu sınıfı kullanmak kodudur: Burada
UITextFiled alt sınıf kodudur sol tarafında kapalı kaydırmak için
// alloc/init
_myTextField.delegate = self;
_myTextField.backgroundColor = [UIColor whiteColor];
_myTextField.layer.masksToBounds = YES;
_myTextField.layer.cornerRadius = 3.0;
_myTextField.returnKeyType = UIReturnKeyDone;
_myTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
_myTextField.autocapitalizationType = UITextAutocapitalizationTypeWords;
_myTextField.autocorrectionType = UITextAutocorrectionTypeNo;
_myTextField.hidden = YES;
_tfButton = [UIButton buttonWithType:UIButtonTypeSystem];
[_tfButton setImage:[UIImage imageNamed:@"ic_edit"] forState:UIControlStateNormal];
[self fs_addSubview:_tfButton];
[_tfButton constrainWidth:22.];
[_tfButton setTintColor:[UIColor greenColor]];
[_tfButton constrainHeight:22.];
[_tfButton constrainToRightOfView:_myTextField margin:-25.0];
[_tfButton constrainEqualCenterYWithView:_myTextField offset:0.0];
[_tfButton setUserInteractionEnabled:NO];
UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 5)];
_myTextField.leftView = leftView;
_myTextField.leftViewMode = UITextFieldViewModeAlways;
nasıl alırım metin zaman kullanıcı bu metin alanına büyük bir dize yazıyor?
asla bu sorunu gidermek için benim manuel olarak ayarlanan yazı tipi boyutunu değiştirmeyi deneyin gerçi olurdu – user426132