【问题标题】:Cocoa Touch: How to add a subview that is centered horizontally in its parent view?Cocoa Touch:如何在其父视图中添加水平居中的子视图?
【发布时间】:2010-10-16 01:01:35
【问题描述】:

我的子视图 (childView) 的宽度小于父视图。

[parentView addSubview:childView];

我想知道如何在父视图中添加这个子水平居中(垂直我希望它保持不变)。我想在代码中做到这一点。现在它正在添加,但添加到父级的左上角。有什么想法吗?

谢谢!

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:
    MyView *v = [[MyView alloc] init];
    CGFloat parentWidth = parentview.bounds.size.width;
    CGRect frame = CGRectMake(floor((parentWidth - v.width)/2),
                              0,
                              v.width,
                              v.height);
    v.frame = frame;
    [parentview addSubview:v];
    

    显然,您需要将 v.height 和 width 替换为实际宽度,并更改变量名称以匹配您自己的名称。这里的关键是父元素的宽度减去视图,除以 2

    【讨论】:

    • 就像一个魅力,谢谢!然而-- v.width, v.height 应该是 v.frame.size.width, v.frame.size.height。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 2019-10-21
    相关资源
    最近更新 更多