您的位置:首页 > 移动开发 > Swift

Swift开发IOS的细节

2016-02-23 11:12 585 查看
1.设置UILabel自适应宽度

var lable = UILabel()
// 设置自适应宽度
lable.adjustsFontSizeToFitWidth = true
// 设置在自适应宽度的情况下,最小能接受的缩放比
lable.minimumScaleFactor = 0.8


2.设置UIButton的背景图UIImage保留本身颜色属性

var img = UIImage(named: "test.png")
img = img!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)

var btn = UIButton()
btn.setImage(img!, forState: UIControlState.Normal)


3.UIImage的拉伸模式

3-1 stretchableImageWithLeftCapWidth

stretch拉伸的效果:



var img = UIImage(named: "chat_bubble_thumbnail_0")
var imageView = UIImageView(image: img)
imageView.frame = CGRectMake(40, 60, 70, 70)
self.view.addSubview(imageView)  // 原图

img = img!.stretchableImageWithLeftCapWidth(40, topCapHeight: 40)
var imageView_s = UIImageView(image: img!)
imageView_s.frame = CGRectMake(40, 130, 200, 100)
self.view.addSubview(imageView_s) // 拉伸之后的图


上面的原图的大小为70*70像素,通过stretchableImageWithLeftCapWidth(40, topCapHeight: 40)指定了如原图上面的横竖两条线,拉伸的时候,只拉伸着两条线,并以相同的颜色填充,这类似于Android中的点9图。

3-2 resizableImageWithCapInsets

效果图:



var img = UIImage(named: "nvx")  //原图
var imageView = UIImageView(image: img)
imageView.frame = CGRectMake(10, 70, 46, 46)
self.view.addSubview(imageView)

var img_s = img!.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 23, 0, 0), resizingMode: UIImageResizingMode.Stretch)
var imageView_s = UIImageView(image: img_s)
imageView_s.frame = CGRectMake(10, 120, 138, 138)
self.view.addSubview(imageView_s)  // 拉伸_左

var img_t = img!.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 23, 0, 0), resizingMode: UIImageResizingMode.Tile)
var imageView_t = UIImageView(image: img_t)
imageView_t.frame = CGRectMake(155, 120, 138, 138)
self.view.addSubview(imageView_t)  // 拉伸_左


4. UIImageView动画实现

let imageView = UIImageView()
var images = [UIImage]()
for i in 1...10 // 循环添加10张图片
{
let img = UIImage(named: "text_\(i)")
images.append(img!)
}
imageView.animationImages = images
imageView.animationDuration = 2.0 //完成一次循环需要的时间
imageView.startAnimating() //开始播放动画
除此之外:

imageView.isAnimating()  //判断是否正在播放动画
imageView.stopAnimating()  // 关闭动画
// UIImageView可以进行交互
imageView.userInteractionEnabled = true


5. 关于UITextField

var textField = UITextField()
// 设置提示文字
textField.placeholder = "请输入账号"
// 设置为密码输入格式
textField.secureTextEntry = true
// 成为第一响应者
textField.becomeFirstResponder()
// 失去第一响应者,用于隐藏键盘
textField.resignFirstResponder()
// 将视图中所有的输入框全失去第一响应者
self.view.endEditing(true)
// 设置清除按键的显示:Always,Never,WhileEditing,UnlessEditing
textField.clearButtonMode = UITextFieldViewMode.Always
// 设置键盘风格
textField.keyboardType = UIKeyboardType.PhonePad
// return键的现实风格
textField.returnKeyType = UIReturnKeyType.Search


6. UINavigationController导航栏控制器

导航栏的高度为44像素,在ios7之后,状态栏和导航栏合二为一,总高度为64像素。

// 设置导航栏的颜色
self.navigationController?.navigationBar.barTintColor = UIColor.blueColor()
// 设置导航栏不透明
self.navigationController?.navigationBar.translucent = false


7.navigationItem

设置navigationItem的prompt提示区域信息:



self.navigationItem.title = "主页"
self.navigationItem.prompt = "提示区域"
navigationItem.title为普通标题;若设置prompt,导航栏的总高度变为94像素,不再是64像素(状态栏+导航栏=64像素)

为navigationItem设置视图



let searchBar = UISearchBar(frame: CGRectMake(0, 0, 200, 40))
searchBar.placeholder = "输入查找的内容"
searchBar.barStyle = UIBarStyle.BlackTranslucent
self.navigationItem.titleView = searchBar




self.navigationController!.navigationBar.barTintColor = UIColor.redColor()
let seg = UISegmentedControl(items: ["消息", "电话"])
seg.frame = CGRectMake(30, 0, 190, 30)
seg.tintColor = UIColor.whiteColor()
seg.selectedSegmentIndex = 0;
self.navigationItem.titleView = seg


给navigationItem设置一组Button:

let barBtn_l_1 = UIBarButtonItem(....)
let barBtn_l_2 = UIBarButtonItem(....)
self.navigationItem.leftBarButtonItems = [barBtn_l_1, barBtn_l_2]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: