我有一个UIActionsheetClass,我可以使用下面的代码来操作:
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {
NSLog(@"action sheet %@", actionSheet.subviews);
for (UIView *subview in actionSheet.subviews) {
if ([subview isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)subview;
[button setTitleColor:[UIColor darkGrayColor] forState:UIControlStateNormal];
[button.titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:20]];
}
}
}
此代码目前工作正常,但是当在3.5英寸屏幕上进行测试时,我注意到Actionsheet没有采用任何这种样式。我只是在动作列表需要滚动视图来处理时才发生故障按钮。
我是否必须访问ActionView子类中的scrollView才能生成UIButton样式?
答案 0 :(得分:1)
请查看我的子类UICustomActionSheet。我刚刚推出了最新的更改,可以正确显示iOs6和iOs7设计的样式。 https://github.com/gloomcore/UICustomActionSheet
您可以为每个按钮设置颜色,字体,文本颜色和图像。适用于iPhone和iPad。而且按钮滚动的情况也正常。你可以找到我的解决方案; - )))
组件对于Appstore绝对安全,因此您可以在应用程序中使用它。享受!
答案 1 :(得分:0)
您可以遍历操作表的子视图以查找scrollview子类。这不会让您的应用被拒绝。
但是,我不建议这种行为。 Apple最近在iOS 7中将这种方法用于UIAlertView(它们实际上不再将警报视图放在屏幕上 - 使用了不同的视图)。