アプリで SBTableAlert ライブラリを使用していましたが、iOS 7 ではこのライブラリが機能しません。TSAlertView を追加して修正すると、ダイアログが正常に表示されます。しかし、私の問題は、ボタンの位置が本来あるべき位置にないことです。
ボタンの位置を次のように設定します。
-(void)willPresentTableAlert:(SBTableAlert *)tableAlert{
int counter = 0;
for (id view_sub in self.filterAlert.view.subviews) {
if ([view_sub isKindOfClass:[UIButton class]]) {
switch (counter) {
case 0:
((UIButton*)view_sub).frame = CGRectMake(10,
10,
144,
44);
((UIButton*)view_sub).backgroundColor = [UIColor redColor];
break;
case 1:
((UIButton*)view_sub).frame = CGRectMake(169,
150,
144,
44);
break;
case 2:
((UIButton*)view_sub).frame = CGRectMake(328,
150,
144,
44);
break;
default:
break;
}
counter++;
}
}
}
ボタンは赤く塗られていますが、フレーム セットは無視されます。1 行に並べる代わりに、ボタンを 1 つ下に配置し、アラート フレームから外します。