ale*_*lex 2 iphone objective-c
我用两个按钮和一个文本字段创建一个uialertview,如果textfield为空,我想要禁用"Ok"按钮.如何获取uibutton对象,更改是启用状态.
Jac*_*kin 11
您可以使用enabled从UIControl以下继承的属性:
for(UIView *view in alertView.subviews) {
if([view isKindOfClass:[UIButton class]]) {
((UIButton *) view).enabled = NO;
}
}
Run Code Online (Sandbox Code Playgroud)
为了可重用性,当您有一个NSArray检索给定类的对象的类别时,这变得更加简单:
@implementation NSArray (JRAdditions)
- (NSArray *)objectsOfClass:(Class)cls {
NSParameterAssert(cls);
NSMutableArray *array = [@[] mutableCopy];
for(id obj in self) if([obj isKindOfClass:cls]) [array addObject:obj];
return [array copy];
}
@end
Run Code Online (Sandbox Code Playgroud)
您的代码现在看起来像这样:
[[alertView.subviews objectsOfClass:[UIButton class]] enumerateObjectsUsingBlock:^(UIButton *obj, NSUInteger index, BOOL *stop) {
obj.enabled = NO;
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2799 次 |
| 最近记录: |