2016-04-06 19 views
0

Ben bir nib/xib kullanıyorum ve belirli bir NSTextfield bir sınır kümesinin olup olmadığını belirlemek istiyorum.NSTextfield isBordered özellik sıfırlanıyor

NSArray *objects = [NSArray array]; 

[[NSBundle mainBundle] loadNibNamed:nibName owner:nil topLevelObjects:&objects]; 
for (NSObject *obj in objects) 
{ 
    if ([obj isKindOfClass:[NSView class]]) 
    { 
     mainView = (NSView *)obj; 
     break; 
    } 
} 

for (NSView *view in [mainView subviews]) 
{ 
    if([view isKindOfClass:[NSTextField class]]) 
    { 
     NSTextField *label = (NSTextField*)view; 
     NSLog(@"view is bordered: %d", label.isBordered); 
    } 
} 

textfields doğru sınırlanmıştır veya IB gösterilmektedir ancak yukarıdaki kod çalıştığında olursa olsun sınırlanmıştır olup olmadığını ait sınırlanmıştır için, her zaman yanlış bildiriyor. For döngüsünde NSView yerine NSControl kullanmayı denedim, ancak bu hiçbir fark yaratmıyor.

'isBordered' durumunu nasıl doğru bir şekilde tanımlayabilirim? Teşekkürler.

cevap

0
label.bezeled 
label.bezelStyle 

NSTextFieldSquareBezel = 0, 
NSTextFieldRoundedBezel = 1 

Update: NSTextField NO 4 borderStyle

  1. isBordered = sahiptir; isBezeled = YES; BezelStyle = 0;
  2. isBordered = NO; isBezeled = NO; BezelStyle = 0;
  3. isBordered = YES; isBezeled = NO; BezelStyle = 0;
  4. isBordered = NO; isBezeled = YES; BezelStyle = 1; Bu konuda

Bilgi öneri için teşekkürler, Hi

+0

here bulunabilir. Bunlara baktım. Bezeled de her zaman yanlıştır. BezelStyle, metin alanının kenarlığı olmadığında bile sıfırdan farklı olabilir. – Nick

+0

@Nick, yanıtlarda güncellemelere bakın :) –

+0

Ah, Çerçevelerimi ve kenarlarımı karıştırıyordum! Teşekkürler, @Vladimir Prigarin. – Nick