swift 总结3
2015-09-01 15:11
363 查看
1/ UITextField 代理
func textFieldShouldReturn(textField:
UITextField) -> Bool {
// 按下输入法的 回车键 触发的方法
return
true
}
2/ tableviewcell 禁止选中
zyTableView.separatorStyle =
UITableViewCellSeparatorStyle.None
//分割线None
zyTableView.allowsSelection =
false//
禁止选中
3/ 控制器调用cell
(1)cell中的数据给值 可以用这种方式
var friendData:Frined! =
nil{
didSet{
imageView!.image =
UIImage(named: (friendData?.icon)!)
textLabel!.text =
friendData?.name
(textLabel!.textColor =
friendData!.vip ?
UIColor.redColor() :
UIColor.blackColor() )
detailTextLabel?.text =
friendData!.intro
}
};
(2)cell的 初始化函数
class
func cellWithTableView(tableView:
UITableView) -> (FriendCell){
let thisID = "friend"
var cell: FriendCell? = tableView .dequeueReusableCellWithIdentifier(thisID)
as! FriendCell?
if(cell == nil ){
cell =
FriendCell(style:
UITableViewCellStyle.Subtitle, reuseIdentifier: thisID)
}
return cell!
}
(3)调用cell
func tableView(tableView:
UITableView, cellForRowAtIndexPath indexPath:
NSIndexPath) -> UITableViewCell {
let cell = FriendCell.cellWithTableView(tableView)
let group = groups[indexPath.section]
let array = group.friends
as NSArray
let item = array[indexPath.row]
as! NSDictionary
let obj = Frined(dictionary: item)
cell.friendData = obj
return cell
}
5/ swift中 代理协议 在类的外面
protocol ZYHeaderViewDelegate:
NSObjectProtocol{
func headerViewDidClickedNameView(headerView:
ZYHeaderView) ->()
}
4/ 当一个XXview继承UIview 时 frame的代码必须在自动布局的函数中写
class ZYHeaderView:
UITableViewHeaderFooterView {
weak var delegate:
ZYHeaderViewDelegate?
var countView: UILabel =
UILabel()
var nameView: UIButton =
UIButton()
var group: FriendGroup? =
nil{
didSet{
nameView .setTitle(group!.name, forState:
UIControlState.Normal)
let bac = 123
countView.text =
"\(bac)"
}
}
class func headerViewWithTableView(tableView:
UITableView) -> (ZYHeaderView) {
let headerID = "header"
var header:
ZYHeaderView? = tableView.dequeueReusableHeaderFooterViewWithIdentifier(headerID)
as?
ZYHeaderView
if(header == nil){
header =
ZYHeaderView()
}
return header!
}
required init?(coder aDecoder:
NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(reuseIdentifier:
String?) {
super.init(reuseIdentifier: reuseIdentifier)
nameView =
UIButton (type: UIButtonType.Custom)
nameView .setBackgroundImage(UIImage (named:
"buddy_header_bg"), forState:
UIControlState.Normal)
nameView .setBackgroundImage(UIImage(named:
"buddy_header_bg_highlighted"), forState:
UIControlState.Highlighted)
nameView .setImage(UIImage(named:
"buddy_header_arrow"), forState:
UIControlState.Normal)
nameView .setTitleColor(UIColor .blackColor(), forState:
UIControlState.Normal)
nameView .contentHorizontalAlignment =
UIControlContentHorizontalAlignment.Left
nameView .titleEdgeInsets =
UIEdgeInsetsMake(0,
10, 0, 0)
nameView .contentEdgeInsets =
UIEdgeInsetsMake(0,
10, 0, 0)
nameView .addTarget(self, action:
"nameViewClick", forControlEvents:
UIControlEvents.TouchUpInside)
nameView .imageView?.contentMode =
UIViewContentMode.Center
nameView .imageView?.clipsToBounds =
true
self.contentView .addSubview(nameView)
countView.textAlignment =
NSTextAlignment.Right
countView.textColor =
UIColor.grayColor()
self.contentView .addSubview(countView)
}
override func layoutSubviews() {
super.layoutSubviews()
self.nameView.frame =
self.bounds
let countY:CGFloat =
0
let countH:CGFloat =
self.frame.size.height
let countW:CGFloat =
150
let countX:CGFloat =
self.frame.size.width -
10 - countW
self.countView.frame =
CGRectMake(countX, countY, countW, countH)
}
func nameViewClick() -> (){
(self.group!.isOpend = !self.group!.isOpend
)
delegate! .headerViewDidClickedNameView(self)
}
override func didMoveToSuperview() {
if(self.group!.isOpend){
self.nameView.imageView!.transform
= CGAffineTransformMakeRotation(
CGFloat(M_PI_2) );
}else{
self.nameView.imageView!.transform
= CGAffineTransformMakeRotation(0);
}
}
}
func textFieldShouldReturn(textField:
UITextField) -> Bool {
// 按下输入法的 回车键 触发的方法
return
true
}
2/ tableviewcell 禁止选中
zyTableView.separatorStyle =
UITableViewCellSeparatorStyle.None
//分割线None
zyTableView.allowsSelection =
false//
禁止选中
3/ 控制器调用cell
(1)cell中的数据给值 可以用这种方式
var friendData:Frined! =
nil{
didSet{
imageView!.image =
UIImage(named: (friendData?.icon)!)
textLabel!.text =
friendData?.name
(textLabel!.textColor =
friendData!.vip ?
UIColor.redColor() :
UIColor.blackColor() )
detailTextLabel?.text =
friendData!.intro
}
};
(2)cell的 初始化函数
class
func cellWithTableView(tableView:
UITableView) -> (FriendCell){
let thisID = "friend"
var cell: FriendCell? = tableView .dequeueReusableCellWithIdentifier(thisID)
as! FriendCell?
if(cell == nil ){
cell =
FriendCell(style:
UITableViewCellStyle.Subtitle, reuseIdentifier: thisID)
}
return cell!
}
(3)调用cell
func tableView(tableView:
UITableView, cellForRowAtIndexPath indexPath:
NSIndexPath) -> UITableViewCell {
let cell = FriendCell.cellWithTableView(tableView)
let group = groups[indexPath.section]
let array = group.friends
as NSArray
let item = array[indexPath.row]
as! NSDictionary
let obj = Frined(dictionary: item)
cell.friendData = obj
return cell
}
5/ swift中 代理协议 在类的外面
protocol ZYHeaderViewDelegate:
NSObjectProtocol{
func headerViewDidClickedNameView(headerView:
ZYHeaderView) ->()
}
4/ 当一个XXview继承UIview 时 frame的代码必须在自动布局的函数中写
class ZYHeaderView:
UITableViewHeaderFooterView {
weak var delegate:
ZYHeaderViewDelegate?
var countView: UILabel =
UILabel()
var nameView: UIButton =
UIButton()
var group: FriendGroup? =
nil{
didSet{
nameView .setTitle(group!.name, forState:
UIControlState.Normal)
let bac = 123
countView.text =
"\(bac)"
}
}
class func headerViewWithTableView(tableView:
UITableView) -> (ZYHeaderView) {
let headerID = "header"
var header:
ZYHeaderView? = tableView.dequeueReusableHeaderFooterViewWithIdentifier(headerID)
as?
ZYHeaderView
if(header == nil){
header =
ZYHeaderView()
}
return header!
}
required init?(coder aDecoder:
NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(reuseIdentifier:
String?) {
super.init(reuseIdentifier: reuseIdentifier)
nameView =
UIButton (type: UIButtonType.Custom)
nameView .setBackgroundImage(UIImage (named:
"buddy_header_bg"), forState:
UIControlState.Normal)
nameView .setBackgroundImage(UIImage(named:
"buddy_header_bg_highlighted"), forState:
UIControlState.Highlighted)
nameView .setImage(UIImage(named:
"buddy_header_arrow"), forState:
UIControlState.Normal)
nameView .setTitleColor(UIColor .blackColor(), forState:
UIControlState.Normal)
nameView .contentHorizontalAlignment =
UIControlContentHorizontalAlignment.Left
nameView .titleEdgeInsets =
UIEdgeInsetsMake(0,
10, 0, 0)
nameView .contentEdgeInsets =
UIEdgeInsetsMake(0,
10, 0, 0)
nameView .addTarget(self, action:
"nameViewClick", forControlEvents:
UIControlEvents.TouchUpInside)
nameView .imageView?.contentMode =
UIViewContentMode.Center
nameView .imageView?.clipsToBounds =
true
self.contentView .addSubview(nameView)
countView.textAlignment =
NSTextAlignment.Right
countView.textColor =
UIColor.grayColor()
self.contentView .addSubview(countView)
}
override func layoutSubviews() {
super.layoutSubviews()
self.nameView.frame =
self.bounds
let countY:CGFloat =
0
let countH:CGFloat =
self.frame.size.height
let countW:CGFloat =
150
let countX:CGFloat =
self.frame.size.width -
10 - countW
self.countView.frame =
CGRectMake(countX, countY, countW, countH)
}
func nameViewClick() -> (){
(self.group!.isOpend = !self.group!.isOpend
)
delegate! .headerViewDidClickedNameView(self)
}
override func didMoveToSuperview() {
if(self.group!.isOpend){
self.nameView.imageView!.transform
= CGAffineTransformMakeRotation(
CGFloat(M_PI_2) );
}else{
self.nameView.imageView!.transform
= CGAffineTransformMakeRotation(0);
}
}
}
相关文章推荐
- 女神画廊App (Swift1.2)
- swift总结2
- 最老程序员创业开发实训5---Swift语言极速入门
- 相亲神器记录Swift1.2
- swift总结1
- swift自学注意点
- swift 中#pragma mark 表示方法
- swift详解之二十--------在xcode中使用git管理源代码,将代码提交到github
- swift 添加按钮
- swift - The Chain Responsibility pattern
- swift详解之十九--------------UITableView的基本操作(下拉刷新,新增删除,分组,检索等)
- IOS--Swift 01
- Swift UILabel 文字大小随着宽度调整
- Swift UILabel常用功能
- Swift子类初始化函数中调用父类初始化函数的正确位置
- swift 创建单例模式
- 【IOS-Swift】实战笔记——数据持久化之NSUserDefaults(本地轻量级数据存储)
- 【IOS-Swift】实战笔记——数据持久化之归档NSKeyedArchiver
- [iOS]#Swift#OC+Swift混编
- JAVA人学习ios swift(笔记)