gpt4 book ai didi

objective-c - iOS:UIPickerView 默认尺寸

转载 作者:行者123 更新时间:2023-11-29 13:32:30 25 4
gpt4 key购买 nike

我想知道内部选择器部分两侧的深灰色框的宽度以及组件之间分隔符的宽度。这将是默认设置(例如 .xib 中显示的内容)。或者,如何以编程方式找到这些值。谢谢

澄清一下,我正在寻找这些值的“建议最小值”。我将我的 UIPickerView 放在弹出窗口中,并且 UIPickerView 的宽度超过 320 像素(这是 .xib 给出的“默认值”)。我想知道这些值,以便我可以将它们添加到弹出窗口的宽度,以确保它不会切断 UIPickerView 右侧的组件。

最佳答案

嗯,这可能有点棘手,因为选择器可以具有动态数量的组件。因此,为了找到宽度,您必须考虑组件的数量。这可以像这样完成:

        NSInteger n = picker.numberOfComponents;        

const CGFloat separatorWidth = 8.0f;
const CGFloat sectionExceedWidth = -2.0f;
CGFloat totalWidth = picker.bounds.size.width;
CGFloat panesWidth = totalWidth - separatorWidth * (n - 1);
for (NSInteger i = 0; i < n; i++) {
CGFloat sectionWidth = [picker rowSizeForComponent:i].width + sectionExceedWidth;
panesWidth -= sectionWidth;
}
CGFloat leftPaneWidth = ceilf(panesWidth * 0.5f);
CGFloat rightPaneWidth = panesWidth - leftPaneWidth;
CGFloat totalHeight = picker.bounds.size.height;
CGRect totalRect = CGRectMake(0, 0, totalWidth, totalHeight);

找到左右 Pane 宽度并且分隔符大小是静态的。

这是从 here 中提取的.

关于objective-c - iOS:UIPickerView 默认尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11509482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com