使用storyboard如何设置圆角或边框?

通过storyboard的 运行时属性runtime attribute,可以对Button设置圆角或者边框

1.很多人都知道,通常设置一个 Button后者其他的UIView子类的圆角,需要使用如下的语句

<span style="font-size:18px;">self.button.layer.cornerRadius=10;//即可</span><span style="font-size:18px;">说明:这会用到layer图层的属性来实现,原因是在一个 UIView子类中</span>

UIView本身只是用来监听事件,而真正显示内容的是layer图层,这当然也包含动画的实现,比如我们对一个view做动画

实际上也是对layer做的动画;

2.但是,总有一些有好奇心的人想知道如何通过,storyboard/xib 设置 一个button或者UIView的圆角:
通过我的研究,我找到一个很强大的方法,可以设置storybord无法添加的属性,比如圆角,或者边框

这个方法就是runtime Attribute运行时属性,也就是在 运行时你设置的这个属性才会起作用,这样体现了oc语言的动态特性和运行时(runtime)的强大

创建一个button然后,设置好约束(以免Button"消失"),如下图,然后选中button 选择右边的inspector

如上图,点击+号即可添加  一个Button相关的属性,这个属性,可以是在storyboard上没有的属性,此方法类似于代码的效果,每一个属性都有与之对应的值(对象),

如数字对应的值类型是  NSNumber,如下图,填入到runtime attrite中的属性名不要写错,否则运行时会崩溃

最终在模拟器上可以看到你想要的圆角啦;

3.类似的你可以添加button的其他属性

iOS: 使用故事板和xib设置按钮圆角方法的更多相关文章

  1. iOS 5 故事板进阶(1)

    译自<iOS 5 by tutorials> 在上一章,你已经学习了故事板的基本用法.包括如何向故事板中添加 View Controller,通过 segues 切换 View Contr ...

  2. iOS 5 故事板入门(4)

    原文: http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-2 让 AddPlayer 窗口动起来 现在,我们先 ...

  3. iOS 5 故事板进阶(2)

    让我们回到游戏排行窗口Ranking.创建一个 UITableViewController子类,命名为 RankingViewController. 编辑 RankingViewController. ...

  4. iOS 5 故事板入门(3)

    原文: http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-2 Segues 介绍 是时候在我们的故事板中加入更 ...

  5. 代码初始化 故事板初始化 xib初始化总结

    对象的初始化有三种方式   // 代码创建 - (id)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { ...

  6. iOS开发小技巧--设置按钮圆角

    方法一:代码设置 方法二:通过图形化界面

  7. iOS开发之--最简单的导航按钮更换方法/导航颜色的改变

    有很多时候,我们需要用到导航,那么更换导航的时候,是在那用那修改,还是自定义一个导航,或者是声明一个代理方法,经过查资料和对导航属性的一些了解,用一种方法最为简单,就是在入口类里面添加一个方法,调用偏 ...

  8. iOS系列 基础篇 02 StoryBoard 故事板文件

    iOS基础 02 StoryBoard 故事板文件 目录: 1. 故事板的导航特点 2. 故事板中的Scene和Segue 3. 本文最后 在上篇HelloWorld工程中有一个Main.storyb ...

  9. 1.3.1. 新建Xcode项目并设置故事板(Core Data 应用程序实践指南)

    创建名为Grocery Dude的Single View程序,并按默认设置处理,不勾选Core Date 和 Git. 设计故事板: 选择Main.Storyboard 拖放一个 Table View ...

随机推荐

  1. 使用js创建select option

    var v_select = document.getElementById("selectA");  var v_option = document.createElement( ...

  2. 算法入门系列2:k近邻算法

    用官方的话来说,所谓K近邻算法(k-Nearest Neighbor,KNN),即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居), 这K个 ...

  3. 关于云平台中OFFICE预览与视频预览的解决办法

    最近,随着firefox x64的升级,出现flash插件完全被禁止的现象,html5替换是大势所趋,原来我们在云平台中有多处使用flash的地方,比如OFFICE预览,视频播放,游戏等,现对于OFF ...

  4. AC日记——采花 洛谷 P2056

    采花 思路: 莫队: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 int bel[maxn] ...

  5. CentOS7.5安装notepadqq

    这个notepadqq就是linux版本的notepad了 1.添加yum源 sudo wget -O /etc/yum.repos.d/sea-devel.repo http://sea.fedor ...

  6. shadowssock启动服务

    启动服务:ssserver -c /var/ss/server.json

  7. Java实现蛇形矩阵

    public class Solution { //下x++ 左y-- 上x-- 右y++ public void prints(int n) { int[][] mp = new int[n][n] ...

  8. CodeForces 732E Sockets

    贪心,优先队列. 将$s$按照从小到大的顺序扔进优先队列.从小的开始与电脑配对,如果找不到合适的电脑,那么再变小一次,直到找到与之配对的电脑或者作废. #pragma comment(linker, ...

  9. 【二分】Subsequence

    [POJ3061]Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15908   Accepted:  ...

  10. 【模拟】Flo's Restaurant

    [poj2424]Flo's Restaurant Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2960   Accept ...