0

UIScrollView のサブビューである最後の UIButton の原点 x を取得できるかどうかを知りたいです。

このコードを試しましたが、フレームを NSLog すると 0 が返されるため、機能しません。

-(void)myMethod 
{
    UIButton *lastButton = [[toggleScroll subviews]lastObject];

    NSLog(@"Button frame %f", lastButton.frame.size.width);
    NSLog(@"Button origin %f", lastButton.frame.origin.x);
}
4

1 に答える 1

0

それは、「最後」が何を意味するかによって大きく異なります。配列の順序は、subviews画面上の各サブビューの X/Y 位置とは関係ありません。すべてのボタンの原点 X 座標の中で最大の X 座標が実際に必要であると仮定します。

CGFloat xMax = -HUGE_VALF;
for (UIView *subview in toggleScroll.subviews) {
    if ([subview isKindOfClass:[UIButton class]]) {
        xMax = MAX(xMax, subview.frame.origin.x);
    }
}
于 2012-06-23T19:08:59.963 に答える