无法更改操作表按钮文本的文本大小

时间:2014-07-29 06:17:31

标签: ios font-size uiactionsheet

嗨,我面临着非常不同的问题。我在我的iPhone应用程序中使用动作表。因此,当我使用otherButtonTitles的预定义值时,如果我尝试更改文本大小,那么它可以正常工作。但是当我动态添加按钮时,它无法正常工作。

我的代码如下所示:

- (void)showActions
{
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil
    delegate:self
    cancelButtonTitle:cancelTitle
    destructiveButtonTitle:nil
    otherButtonTitles:notifications, about, faq, settings, logout, nil];
    [actionSheet showInView:self.view];
}

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {
    for (UIView *_currentView in actionSheet.subviews) {
    if ([_currentView isKindOfClass:[UIButton class]]) {

        UIButton *button = (UIButton *)_currentView;
        button.titleLabel.font = [UIFont systemFontOfSize:FONT_SIZE_16];
    }
 }
}

所以上面的事情很好。但是,如果我尝试遵循它不起作用的事情

-(void) showCategories
{
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil
    delegate:self
    cancelButtonTitle:nil
    destructiveButtonTitle:nil
    otherButtonTitles:nil];
    // categoryData is string array....
    for (NSString *category in categoryData) {
        [actionSheet addButtonWithTitle:category];
    }
    actionSheet.cancelButtonIndex = [actionSheet addButtonWithTitle:@"Cancel"];
    [actionSheet showInView:self.view];
 }

我尝试改变上面的文字大小然后它不起作用。有什么缘故吗?需要帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

  

当按钮总数超过高度时,不显示   滚动此问题发生。 (如果其他人找到了方法那么   请发一个答案。但我认为没有答案!!)

在4英寸设备(640x1136分辨率)上,显示的最大按钮数 11

在3.5英寸设备(640x960分辨率)上,显示的最大按钮数 8

一条建议::我认为如果您使用动作表以这种方式显示超过10个元素,Apple可能会拒绝您的应用。使用UIPickerView表示此类行为。