Получите исходную точку x последнего UIButton в UIScrollView

Я хотел бы знать, возможно ли получить исходную точку x последнего UIButton, который является подвидом UIScrollView.

Я пробовал этот код, но он не работает, потому что, если я 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);
}

person user1476826    schedule 23.06.2012    source источник


Ответы (1)


Это действительно зависит от того, что вы подразумеваете под «последним». Порядок массива 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);
    }
}
person rob mayoff    schedule 23.06.2012
comment
Можно ли получить максимальное значение x кнопок в UIScrollView, верно? Итак, я попробовал: pastie.org/private/s7jxvb19oulraxzmn18dw, но он не добавляет UIButton после последнего UIButton UIView. - person user1476826; 23.06.2012
comment
Из вашего примера кода ясно, что вам нужно потратить некоторое время на изучение основ C. - person rob mayoff; 23.06.2012