Ios 更改UIActionSheet按钮样式在强制滚动操作表时不起作用

Ios 更改UIActionSheet按钮样式在强制滚动操作表时不起作用,ios,cocoa-touch,uiactionsheet,Ios,Cocoa Touch,Uiactionsheet,我有一个UIActionsheetClass,我可以使用以下代码对其进行操作: - (void)willPresentActionSheet:(UIActionSheet *)actionSheet { NSLog(@"action sheet %@", actionSheet.subviews); for (UIView *subview in actionSheet.subviews) { if ([subview isKindOfClass:[UIButton class]])

我有一个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样式?

您可以在操作表的子视图中循环查找scrollView子类。这不会导致您的应用被拒绝


但是,我不推荐这种行为。苹果最近削弱了iOS 7中UIAlertView的这种方法(他们不再实际将alert视图放在屏幕上-使用了不同的视图).

请查看我的子类UICustomActionSheet。我刚刚发布了最新的更改,允许正确显示iOs6和iOs7设计的样式。

您可以为每个按钮设置颜色、字体、文本颜色和图像。适用于iPhone和iPad。按钮滚动也可以正常工作。您可以找到我的解决方案;-))


组件对于Appstore来说是绝对安全的,所以您可以在应用程序中使用它。祝您愉快!

谢谢Xtravar,我会继续为此寻找合适的修复方法。T