当前位置: 首页 > 知识库问答 >
问题:

如何增加UISegmentedControl总宽度?

戈睿识
2023-03-14

首先要澄清的是,我不是在问如何修改单个UISegmentedControl段或按钮的宽度。

我的最终目标是创建嵌入在UIScrollView中的UISegmentedControl。此UISegmentedControl将能够无限期地增加其段数。

为了实现这一点,每次添加一个段时,我都需要增加UISegmentControl本身的总宽度。有没有什么方法可以在每次添加段时不重新创建全新的UISegmentedControl对象的情况下增加总宽度?

提前谢谢你!

共有1个答案

蒋正平
2023-03-14

@MatthiasBauch的评论帮助我找到了整个解决方案,详情如下:

注意:我使用的是Autolayout,所以无论我在哪里使用故事板,都必须用编程等效物来替换它。

1)首先,在故事板上拖动一个“分段控件”。
2)为您刚刚添加的控件创建一个出口。
3)此外,ctrl单击控件,并拖动到自身。然后单击“宽度”以添加宽度约束。
4)现在,打开文档大纲(编辑器

使用下面提到的文章,可以如下更新约束(使用动画…奖金!)

转到要用于更新宽度的方法并执行以下操作:

let desiredWidthChange = 30.0

self.widthConstraint.constant = 
    self.mySegmentedControl.constant + desiredWidthChange

self.mySegmentedControl.setNeedsUpdateConstraints()

UIView.animateWithDuration(0.5, animations: { () -> Void in
    self.mySegmentedControl.layoutIfNeeded() // Captures all of the frame changes.
    println("Width updated successfully")
})

参考:
NSLayoutConstraints是否可设置动画?

 类似资料:
  • 问题内容: 我正在创建一个模式: 有没有办法增加其宽度? 问题答案: 我使用这样的css类来定位modal-dialog类: 然后在调用模式窗口的控制器中,设置windowClass:

  • 我想增加高度但不是宽度的大小。下面的代码增加高度和宽度。 我试着用下面的代码,但它不起作用 这两个都不工作。请任何人帮助我增加面板高度的大小

  • 我有一个以编程方式定义的UISegmentedControl。 我正在尝试添加一个布局约束,以便在我的iPad旋转时,分段控件在旋转视图中的大小正确,而不是溢出屏幕。 我应用以下约束: 我的UIsegmentControl定义如下: 我没有出错,但是在运行时,我的分段控件消失了。不确定我在这里错过了什么,因为我过去只在故事板中做过自动布局。 我只想能够调整分段控件的宽度,所以我假设我只需要一个布局

  • 问题内容: 长期缺席并喜欢它之后,我目前正在重新使用Python。但是,我发现自己反复遇到一种模式。我一直认为,必须有一种更好的方式表达我想要的东西,而我可能做错了方式。 我正在编写的代码具有以下形式: 我在程序中写很多。我的第一个反应是将其推出辅助函数,但是通常python库已经提供了类似的功能。 我缺少一些简单的语法技巧吗?还是采用这种方式? 问题答案: 使用: 在Python> = 2.7中

  • 即使有很大的空间,它打破了线,我如何增加线宽?

  • 问题内容: 我对Java有一个基本问题。 当使用默认构造函数声明和初始化时,将创建10个元素的内存空间。现在,当我添加第11个元素时,会发生什么?是否将创建具有20个(或更多)元素容量的新内存空间(这需要将元素从第一个内存位置复制到新位置)或其他东西? 我在这里检查。但是我没有找到答案。 请分享知识。谢谢。 问题答案: 创建一个新数组,并将旧数组的内容复制过来。这就是您在API级别上所知道的。引用