iOS-UIKit框架

UIControl——UI控制类

var enabled: Bool // 默认YES. 设置为NO时忽略touch事件,子类可能得到不同的绘制
var selected: Bool // 默认NO
var highlighted: Bool // 默认NO
var contentVerticalAlignment: UIControlContentVerticalAlignment // 默认center,垂直对齐方式
var contentHorizontalAlignment: UIControlContentHorizontalAlignment // 默认center,水平对齐方式
var state: UIControlState { get } // 可以有多余一个的状态
var tracking: Bool { get } // 跟踪用户行为
var touchInside: Bool { get } // 紧在tracking为true时有效,指定跟踪范围为对象内

// 跟踪用户行为
func beginTrackingWithTouch(touch: UITouch, withEvent event: UIEvent?) -> Bool
func continueTrackingWithTouch(touch: UITouch, withEvent event: UIEvent?) -> Bool
func endTrackingWithTouch(touch: UITouch?, withEvent event: UIEvent?)
// 如果cancelTracking通过this调用有时touch会是nil
func cancelTrackingWithEvent(event: UIEvent?) // 如果无事件源调用,event可能为空,例如从窗口中删除

// 为目标添加事件
func addTarget(target: AnyObject?, action: Selector, 
  forControlEvents controlEvents: UIControlEvents)
// 删除目标事件
func removeTarget(target: AnyObject?, action: Selector, 
  forControlEvents controlEvents: UIControlEvents)
// 获取所有事件目标
func allTargets() -> Set<NSObject> // 集合中可能存在NSNull, 表明至少有一个target是nil
// 获取所有控制事件
func allControlEvents() -> UIControlEvents
// 获取一个目标的事件
func actionsForTarget(target: AnyObject?, forControlEvent controlEvent: UIControlEvents) -> [String]? 

// 为一个事件指定执行目标
func sendAction(action: Selector, to target: AnyObject?, forEvent event: UIEvent?)
// 指定与指定事件相关的方法
func sendActionsForControlEvents(controlEvents: UIControlEvents)

UIControlEvents——UI控制事件类

init(rawValue: UInt)
static var TouchDown: UIControlEvents { get } // 点击按下
static var TouchDownRepeat: UIControlEvents { get } // 多次点击
static var TouchDragInside: UIControlEvents { get } // 拖拽入,在边界内持续触发
static var TouchDragOutside: UIControlEvents { get } // 拖拽出,在边界外则持续触发
static var TouchDragEnter: UIControlEvents { get } // 拖拽进入范围内,边界外70px处触发
static var TouchDragExit: UIControlEvents { get }  // 拖拽出范围外,要超出边界70px才触发
static var TouchUpInside: UIControlEvents { get } // 在范围内松开手指
static var TouchUpOutside: UIControlEvents { get } // 在范围外松开手指
static var TouchCancel: UIControlEvents { get } // 取消点击
    
static var ValueChanged: UIControlEvents { get } // 值改变,例如slider
static var PrimaryActionTriggered: UIControlEvents { get } // 触发主要事件
    
static var EditingDidBegin: UIControlEvents { get } // 开始编辑,例如UITextField
static var EditingChanged: UIControlEvents { get } // 值改变时触发
static var EditingDidEnd: UIControlEvents { get } // 结束编辑
static var EditingDidEndOnExit: UIControlEvents { get } // 结束编辑退出时
    
static var AllTouchEvents: UIControlEvents { get } // 所有touch事件
static var AllEditingEvents: UIControlEvents { get } // 所有编辑事件
static var ApplicationReserved: UIControlEvents { get } // 应用可用的范围
static var SystemReserved: UIControlEvents { get } // 框架保留使用的范围
static var AllEvents: UIControlEvents { get } // 所有事件

UIControlState——UI控制状态

init(rawValue: UInt)
static var Normal: UIControlState { get }
static var Highlighted: UIControlState { get } 
static var Disabled: UIControlState { get }
static var Selected: UIControlState { get } 
static var Application: UIControlState { get } // 被应用使用的额外标记
static var Reserved: UIControlState { get } //  为框架使用保留的标记

组件的显示/消失

// 显示完成的回调会在viewDidAppear之后触发
// 显示组件
func presentViewController(viewControllerToPresent: UIViewController, 
  animated flag: Bool, completion: (() -> Void)?)
// 隐藏完成的回调会在viewDidDisappear之后触发
// 隐藏组件
func dismissViewControllerAnimated(flag: Bool, completion: (() -> Void)?)

UIColor——颜色

// 初始化方法
init(white: CGFloat, alpha: CGFloat)
init(hue: CGFloat, saturation: CGFloat, brightness: CGFloat, alpha: CGFloat)
init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
init(CGColor cgColor: CGColor)
init(patternImage image: UIImage)

UIActivityIndicatorView——loading组件

// 初始化方法
init(activityIndicatorStyle style: UIActivityIndicatorViewStyle) // 根据style来调整view
init(frame: CGRect)
init(coder: NSCoder)
    
var activityIndicatorViewStyle: UIActivityIndicatorViewStyle // 默认UIActivityIndicatorViewStyleWhite
var hidesWhenStopped: Bool // 默认为true
    
var color: UIColor? // 组件的color

func startAnimating()  // 开始动画
func stopAnimating()  // 结束动画
func isAnimating() -> Bool  // 动画状态

UIAlertController——提示框组件

// 初始化方法
convenience init(title: String?, message: String?, preferredStyle: UIAlertControllerStyle)
    
func addAction(action: UIAlertAction) // 添加响应按钮
var actions: [UIAlertAction] { get } // 响应按钮
    
var preferredAction: UIAlertAction?
    
func addTextFieldWithConfigurationHandler(configurationHandler: ((UITextField) -> Void)?) // 添加输入框
var textFields: [UITextField]? { get } // 输入框
    
var title: String?  // 标题
var message: String?  // 提示信息
    
var preferredStyle: UIAlertControllerStyle { get } // 提示样式:ActionSheet-从下方弹上来的按钮组 Alert-弹出式的提示框

UIAlertAction——提示框响应按钮

// 初始化方法
convenience init(title: String?, style: UIAlertActionStyle, handler: ((UIAlertAction) -> Void)?)
    
var title: String? { get }  // 按钮文本
var style: UIAlertActionStyle { get }  // 按钮样式:Default-默认蓝色 Cancel-白色背景取消 Destructive-危险选项
var enabled: Bool  // 是否可用

// 初始化例子
let cancelAction = UIAlertAction(title: cancelButtonTitle, style: .Cancel) { action in
    NSLog("The simple alert's cancel action occured.")
}

UITextInputTraits——输入约束接口

// 句首自动大写
optional var autocapitalizationType: UITextAutocapitalizationType { get set } // 默认UITextAutocapitalizationTypeSentences
// 自动纠正
optional var autocorrectionType: UITextAutocorrectionType { get set } // 默认UITextAutocorrectionTypeDefault
// 拼写检查
optional var spellCheckingType: UITextSpellCheckingType { get set } // 默认UITextSpellCheckingTypeDefault;
// 键盘类型
optional var keyboardType: UIKeyboardType { get set } // 默认UIKeyboardTypeDefault
// 键盘样式
optional var keyboardAppearance: UIKeyboardAppearance { get set } // 默认UIKeyboardAppearanceDefault
// 返回值类型
optional var returnKeyType: UIReturnKeyType { get set } // 默认UIReturnKeyDefault
// 设置开关键盘Done键
optional var enablesReturnKeyAutomatically: Bool { get set } // 默认NO (设置为YES的时候,当输入内容长度为0时,会自动禁止键盘Done键
// 安全文本输入,自动变成圆点或星号
optional var secureTextEntry: Bool { get set } // 默认is NO

NSNotificationCenter——消息通知中心

// 每个程序默认的消息通知中心
class func defaultCenter() -> NSNotificationCenter
// 添加观察者
func addObserver(observer: AnyObject, selector aSelector: Selector, 
  name aName: String?, object anObject: AnyObject?)
// 发送消息通知
func postNotification(notification: NSNotification)
func postNotificationName(aName: String, 
  object anObject: AnyObject?)
func postNotificationName(aName: String, 
  object anObject: AnyObject?, userInfo aUserInfo: [NSObject : AnyObject]?)
// 删除观察者
func removeObserver(observer: AnyObject)
func removeObserver(observer: AnyObject, name aName: String?, 
  object anObject: AnyObject?)
// 添加匿名观察者到队列中
func addObserverForName(name: String?, object obj: AnyObject?, 
  queue: NSOperationQueue?, usingBlock block: (NSNotification) -> Void) -> NSObjectProtocol
关于消息中心的解读:

http://southpeak.github.io/blog/2015/03/20/nsnotificationcenter/

例子:

// 添加观察者
alertController.addTextFieldWithConfigurationHandler { textField in
    NSNotificationCenter.defaultCenter().addObserver(self, 
      selector: "handleTextFieldTextDidChangeNotification:", 
      name: UITextFieldTextDidChangeNotification, object: textField)
    textField.secureTextEntry = true
}

// 定义注销观察者方法
let removeTextFieldObserver: Void -> Void = {
    NSNotificationCenter.defaultCenter().removeObserver(self, 
      name: UITextFieldTextDidChangeNotification, object: alertController.textFields!.first)
}

// 当点击取消时,即不需要监听对象的时候要注销观察者
let cancelAction = UIAlertAction(title: cancelButtonTitle, style: .Cancel) { action in
    NSLog("The \"Secure Text Entry\" alert's cancel action occured.")
    removeTextFieldObserver()
}

// 观察者selector,需要执行的方法
func handleTextFieldTextDidChangeNotification(notification: NSNotification) {
    let textField = notification.object as! UITextField
    // 当输入长度大于等于5时,按钮才点击
    secureTextAlertAction!.enabled = textField.text!.characters.count >= 5
}

UIButton——按钮

// 初始化方法
convenience init(type buttonType: UIButtonType)
// 内容块内边距
var contentEdgeInsets: UIEdgeInsets // 默认UIEdgeInsetsZero
// 文本内边距
var titleEdgeInsets: UIEdgeInsets // 默认UIEdgeInsetsZero
// 确定按钮高亮时是否改变阴影的Bool值.
var reversesTitleShadowWhenHighlighted: Bool // 默认NO,当为YE时,阴影在雕刻与浮雕感之间变化
// 图片内边距
var imageEdgeInsets: UIEdgeInsets // 默认UIEdgeInsetsZero
// 点击按钮时图片变暗
var adjustsImageWhenHighlighted: Bool // 默认YES
// 不可点击时图片变亮
var adjustsImageWhenDisabled: Bool // 默认YES
// 点击按钮时显示点击效果
var showsTouchWhenHighlighted: Bool // 默认NO
// 提示颜色
var tintColor: UIColor! // 继承自父view
// 按钮类型
var buttonType: UIButtonType { get }

// 可为每种状态设置相应的图片,文字颜色,文字阴影颜色和背景图片
// 可用一个集合的标记来指定多种状态结合的数据
// 一般而言,应该为normal state指定一个值,以供其他没有指定值的状态使用

// 设置文本
func setTitle(title: String?, forState state: UIControlState) // 默认nil. 单行文本
// 设置文本颜色
func setTitleColor(color: UIColor?, forState state: UIControlState) // 默认nil. 透明白色
// 设置文本阴影颜色
func setTitleShadowColor(color: UIColor?, forState state: UIControlState) // 默认nil. 50%黑色
// 设置图片
func setImage(image: UIImage?, forState state: UIControlState) // 默认nil. 不同状态下应保持大小一致
// 设置背景图片
func setBackgroundImage(image: UIImage?, forState state: UIControlState) // 默认nil
// 设置带属性文本
func setAttributedTitle(title: NSAttributedString?, forState state: UIControlState) // 默认nil,单行文本

// 获取指定状态的各种属性
func titleForState(state: UIControlState) -> String? // 文本
func titleColorForState(state: UIControlState) -> UIColor? // 文本颜色
func titleShadowColorForState(state: UIControlState) -> UIColor? // 文本阴影颜色
func imageForState(state: UIControlState) -> UIImage? // 图片
func backgroundImageForState(state: UIControlState) -> UIImage? // 背景图片
func attributedTitleForState(state: UIControlState) -> NSAttributedString? // 带属性文本

// 获取当前状态属性
var currentTitle: String? { get }
var currentTitleColor: UIColor { get } // 默认white(1,1)
var currentTitleShadowColor: UIColor? { get }
var currentImage: UIImage? { get }
var currentBackgroundImage: UIImage? { get }
var currentAttributedTitle: NSAttributedString? { get }

// 返回titleLabel和imageView,如有需要会自动创建,系统按钮返回nil
var titleLabel: UILabel? { get }
var imageView: UIImageView? { get }

// 以下方法返回背景的,内容的(图片+文本),或单独文本,图片的长方形边界
// 内容长方形的计算是文本,图片大小加上内边距,然后根据对齐方式来计算
// 在UIImage,UILabel分别渲染出来之前,没有绘制的方法
func backgroundRectForBounds(bounds: CGRect) -> CGRect // 背景
func contentRectForBounds(bounds: CGRect) -> CGRect // 内容
func titleRectForContentRect(contentRect: CGRect) -> CGRect // 文本
func imageRectForContentRect(contentRect: CGRect) -> CGRect // 图片

UIEdgeInsets——内边距类

// 结构
var top: CGFloat // 值为正时inset,为负时outset
var left: CGFloat
var bottom: CGFloat
var right: CGFloat
init()
init(top: CGFloat, left: CGFloat, bottom: CGFloat, right: CGFloat)
// 快速初始化方法
func UIEdgeInsetsMake(top: CGFloat, _ left: CGFloat, _ bottom: CGFloat, _ right: CGFloat) -> UIEdgeInsets

NSAttributedString——属性描述字符串

例子:

let normalTitleAttributes = [
  NSForegroundColorAttributeName: UIColor.applicationBlueColor(), 
  NSStrikethroughStyleAttributeName: NSUnderlineStyle.StyleSingle.rawValue
]
let normalAttributedTitle = NSAttributedString(string: buttonTitle, 
  attributes: normalTitleAttributes)
print(normalAttributedTitle)
attributedTextButton.setAttributedTitle(normalAttributedTitle, forState: .Normal)

// print normalAttributedTitle
// Button{
//     NSColor = "UIDeviceRGBColorSpace 0.333 0.784 1 1";
//     NSStrikethrough = 1;
// }

UIDatePicker——日期选择器

// 日期选择模式
var datePickerMode: UIDatePickerMode // 默认DateAndTime
// 语言环境
var locale: NSLocale? // 默认[NSLocale currentLocale]
@NSCopying var calendar: NSCalendar! // 默认[NSCalendar currentCalendar]
var timeZone: NSTimeZone? // 默认nil
    
var date: NSDate // 默认当前时间,计时模式下忽略,计时模式下从0:00开始
// 指定日期选择区间,计时模式下忽略
var minimumDate: NSDate? // 默认nil
var maximumDate: NSDate? // 默认nil
// 设置秒之间的间隔,必须均匀的分为60
var countDownDuration: NSTimeInterval // 默认0.0. 限制为23:59 (86,399秒)
// 设置分钟之间的间隔,必须均匀的分为60
var minuteInterval: Int // 默认1,最小1, 最大30

// 设置日期
func setDate(date: NSDate, animated: Bool)

UIDatePickerMode——日期选择模式

case Time // 小时,分钟加上AM/PM
case Date // 年,月,日
case DateAndTime // 年,月,日+小时,分钟加上AM/PM
case CountDownTimer // 小时,分钟

NSDateFormatter——日期格式化

// 日期和字符串之间相互转换
func stringFromDate(date: NSDate) -> String
func dateFromString(string: String) -> NSDate?
// 输出格式
var dateStyle: NSDateFormatterStyle
var timeStyle: NSDateFormatterStyle
// 日期格式化
enum NSDateFormatterStyle : UInt {
    case NoStyle // 不显示
    case ShortStyle // date: 8/31/15 time: 2:26 PM
    case MediumStyle // date: Aug, 31, 2015 time: 2:26:01 PM
    case LongStyle // date: August 31, 2015 time: 2:26:01 PM GMT+8
    case FullStyle // date: Monday, August 31, 2015 time: 2:26:01 PM China Standard Time
}

例子:

datePicker.datePickerMode = .DateAndTime
// 设置最小/最大日期
let now = NSDate()
datePicker.minimumDate = now // 设置最小日期为now
let currentCalendar = NSCalendar.currentCalendar()
let dateComponents = NSDateComponents()
dateComponents.day = 7
let sevenDaysFromNow = currentCalendar.dateByAddingComponents(dateComponents, 
  toDate: now, options: []) // 7天后的日期
datePicker.maximumDate = sevenDaysFromNow // 设置最大日期
datePicker.minuteInterval = 1 // 设置分钟间隔

UIImageView——图片容器组件

// 初始化方法
init(image: UIImage?)
init(image: UIImage?, highlightedImage: UIImage?)
    
var image: UIImage? // 默认nil
var highlightedImage: UIImage? // 默认nil
var userInteractionEnabled: Bool // 默认NO,是否响应交互事件
var highlighted: Bool // 默认NO

// 播放幻灯片
var animationImages: [UIImage]? // 默认nil
var highlightedAnimationImages: [UIImage]? // 默认nil
var animationDuration: NSTimeInterval // 幻灯切换时间,默认:图片数 * 1/30秒
var animationRepeatCount: Int // 循环次数,0代表无限循环 (默认0)  
var tintColor: UIColor! // 颜色
func startAnimating() // 开始播放
func stopAnimating() // 停止播放
func isAnimating() -> Bool // 是否正在播放

UIPageControl——分页小圆点组件

var numberOfPages: Int // 总页数,默认0
var currentPage: Int // 当前页数,默认0
var hidesForSinglePage: Bool // 当只有1页的时候隐藏分页小圆点. 默认NO
    
var defersCurrentPageDisplay: Bool // 设置为true,则点击新的页面不会更新小圆点,直到调用updateCurrentPageDisplay. 默认NO
func updateCurrentPageDisplay() // 更新小圆点. 设置页数值会触发此函数
    
func sizeForNumberOfPages(pageCount: Int) -> CGSize // 返回小圆点显示需要的最小页数.
    
var pageIndicatorTintColor: UIColor? // 小圆点默认颜色
var currentPageIndicatorTintColor: UIColor? // 当前页颜色
UIPickerView——滚动选择器
weak var dataSource: UIPickerViewDataSource? // 默认nil. 弱引用
weak var delegate: UIPickerViewDelegate? // 默认nil. 弱引用
var showsSelectionIndicator: Bool // 显示选中指针,默认NO
    
// 从data source和delegate中获取或缓存的信息
var numberOfComponents: Int { get } // 选项的数目
func numberOfRowsInComponent(component: Int) -> Int // 一个选项中的行数
func rowSizeForComponent(component: Int) -> CGSize // 选项的行的大小,width和height
    
// 获得行的view
func viewForRow(row: Int, forComponent component: Int) -> UIView?
    
// 重新加载
func reloadAllComponents()
func reloadComponent(component: Int)
    
// 选中行
func selectRow(row: Int, inComponent component: Int, animated: Bool)
// 获得选中的行数
func selectedRowInComponent(component: Int) -> Int // 返回选中的行,如果什么都没有选中,则返回-1
UIPickerViewDataSource——选择器数据源——接口
// 指定选项数
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
// 指定选项中的行数
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int

UIPickerViewDelegate——选择器代理——接口

// 返回指定选项的行的宽度
optional func pickerView(pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat
// 返回指定选项的行的宽度
optional func pickerView(pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat
    
// 获得view的方法中,我们缓存了隐藏的和未被重用的view,并在重用时传递给这些方法
// 如果你返回一个不同的对象,旧的对象会被释放,这个view会显示在行中央 
// 指定行的文本
optional func pickerView(pickerView: UIPickerView, 
  titleForRow row: Int, forComponent component: Int) -> String?
// 指定行属性文本
optional func pickerView(pickerView: UIPickerView, 
  attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString?
// 指定行的view
optional func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView
// 选中行的回调操作
optional func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
UIProgressView——进度条组件
// 初始化方法
init(frame: CGRect)
init?(coder aDecoder: NSCoder)
convenience init(progressViewStyle style: UIProgressViewStyle) // 根据样式设置高度
    
var progressViewStyle: UIProgressViewStyle // 默认.Default  Default-默认 bar-进度条颜色透明
var progress: Float // 0.0 .. 1.0, 默认is 0.0
var progressTintColor: UIColor? // 进度条颜色
var trackTintColor: UIColor? // 当前进度颜色
var progressImage: UIImage? // 进度图片
var trackImage: UIImage? // 当前进度图片

// 设置进度
func setProgress(progress: Float, animated: Bool)
var observedProgress: NSProgress? // 观察进度

UISegamentControl——标签栏组件

init(items: [AnyObject]?) // 传入对象类型可以是NSStrings或UIImages,组件将自动根据内容适应宽度
var momentary: Bool // 设置为true,则在跟踪完毕后不显示选中状态. 默认NO
var numberOfSegments: Int { get } // 标签数
    
// 设置为YES,根据内容自适应宽度. 默认NO.
var apportionsSegmentWidthsByContent: Bool

// 插入文本标签
func insertSegmentWithTitle(title: String?, atIndex segment: Int, animated: Bool) // 在atIndex前插入. 值固定
// 插入图片标签
func insertSegmentWithImage(image: UIImage?, atIndex segment: Int, animated: Bool)
// 删除标签
func removeSegmentAtIndex(segment: Int, animated: Bool)
// 删除所有标签
func removeAllSegments()

// 设置标签文本
func setTitle(title: String?, forSegmentAtIndex segment: Int) // 只可以是文本和图片中的一种. 默认nil
// 获取标签文本
func titleForSegmentAtIndex(segment: Int) -> String?
// 设置标签图片
func setImage(image: UIImage?, forSegmentAtIndex segment: Int) // 默认nil
// 获取标签图片
func imageForSegmentAtIndex(segment: Int) -> UIImage?

// 设置标签宽度
func setWidth(width: CGFloat, forSegmentAtIndex segment: Int) // 设置为0.0 宽度自适应.默认0.0
// 获取标签宽度
func widthForSegmentAtIndex(segment: Int) -> CGFloat

// 设置标签内容偏移值
func setContentOffset(offset: CGSize, forSegmentAtIndex segment: Int) // 默认(0,0)
// 获取标签内容偏移值
func contentOffsetForSegmentAtIndex(segment: Int) -> CGSize

// 设置标签是否可用
func setEnabled(enabled: Bool, forSegmentAtIndex segment: Int) // 默认YES
// 获取标签是否可用
func isEnabledForSegmentAtIndex(segment: Int) -> Bool
    
// 在momentary模式下忽略此属性. 默认UISegmentedControlNoSegment-直到有标签被点击才有值
// 值改变的操作通过用户操作来触发. 设置为UISegmentedControlNoSegment来关闭选择操作
var selectedSegmentIndex: Int // 当前选中的标签
var tintColor: UIColor! // 文本颜色
    
// 设置标签背景图片
func setBackgroundImage(backgroundImage: UIImage?, 
  forState state: UIControlState, barMetrics: UIBarMetrics)
// 为指定标签状态设置背景图片
func backgroundImageForState(state: UIControlState, 
  barMetrics: UIBarMetrics) -> UIImage?
    
// 设置分割线图片
func setDividerImage(dividerImage: UIImage?, 
  forLeftSegmentState leftState: UIControlState, 
  rightSegmentState rightState: UIControlState, barMetrics: UIBarMetrics)
// 
func dividerImageForLeftSegmentState(leftState: UIControlState, 
  rightSegmentState rightState: UIControlState, 
  barMetrics: UIBarMetrics) -> UIImage?

// 设置标签属性文本
func setTitleTextAttributes(attributes: [NSObject : AnyObject]?, forState state: UIControlState)
// 获取标签属性文本
func titleTextAttributesForState(state: UIControlState) -> [NSObject : AnyObject]?

// 设置标签内容对齐方式
func setContentPositionAdjustment(adjustment: UIOffset, 
  forSegmentType leftCenterRightOrAlone: UISegmentedControlSegment, 
  barMetrics: UIBarMetrics)
// 获取标签内容对齐方式
func contentPositionAdjustmentForSegmentType(leftCenterRightOrAlone: UISegmentedControlSegment, 
  barMetrics: UIBarMetrics) -> UIOffset

UISlider——滑块组件

var value: Float // 默认0.0. 值固定在min/max之间
var minimumValue: Float // 默认0.0. 
var maximumValue: Float // 默认1.0.
// 最小值图片
var minimumValueImage: UIImage? // nil. image
// 最大值图片
var maximumValueImage: UIImage? // 默认nil.
    
var continuous: Bool // 设置为true,值改变事件将在拖动过程中持续触发. 默认YES
    
var minimumTrackTintColor: UIColor? // 滑块到最小值的颜色
var maximumTrackTintColor: UIColor? // 滑块到最大值的颜色
var thumbTintColor: UIColor? // 滑块颜色
// 设置值
func setValue(value: Float, animated: Bool) // 滑块移动速度固定,时长取决于距离. 不会触发事件
    
// 设置滑块图片
func setThumbImage(image: UIImage?, forState state: UIControlState)
// 设置滑块到最小值的图片
func setMinimumTrackImage(image: UIImage?, forState state: UIControlState)
// 设置滑块到最大值的图片
func setMaximumTrackImage(image: UIImage?, forState state: UIControlState)
// 获取指定状态的滑块设置图片
func thumbImageForState(state: UIControlState) -> UIImage?
// 获取指定状态的滑块到最小值的图片
func minimumTrackImageForState(state: UIControlState) -> UIImage?
// 获取指定状态的滑块到最大值的图片
func maximumTrackImageForState(state: UIControlState) -> UIImage?

// 获取当前属性值
var currentThumbImage: UIImage? { get } 
var currentMinimumTrackImage: UIImage? { get }
var currentMaximumTrackImage: UIImage? { get }
    
// 边界方法
func minimumValueImageRectForBounds(bounds: CGRect) -> CGRect
func maximumValueImageRectForBounds(bounds: CGRect) -> CGRect
func trackRectForBounds(bounds: CGRect) -> CGRect
func thumbRectForBounds(bounds: CGRect, trackRect rect: CGRect, value: Float) -> CGRect
UIStepper——步长选择器

var text: String? // 默认nil
var font: UIFont! // 默认nil
var textColor: UIColor! // 默认nil
var shadowColor: UIColor? // 默认nil
var shadowOffset: CGSize // 默认CGSizeMake(0, -1)
var textAlignment: NSTextAlignment // 默认.Left
var lineBreakMode: NSLineBreakMode // 折行模式,默认NSLineBreakByTruncatingTail.
    
// 如果设置了以下属性,则会忽略上面的属性,根据属性文本来绘制
@NSCopying var attributedText: NSAttributedString? // 默认nil
    
var highlightedTextColor: UIColor? // 默认nil
var highlighted: Bool // 默认NO
    
var userInteractionEnabled: Bool // 默认NO
var enabled: Bool // 默认YES.
    
// 以下属性决定了行数以及调用sizeToFit的时候执行的操作, 默认值是1 (单行). 0代表无限制
// 如果文本高度超出行数限制了,则会使用break模式进行截取
var numberOfLines: Int // 行数
    
// 以下三个属性允许label根据宽度自适应和缩放,以及指定当字体需要自适应时,文本基线的移动
    
var adjustsFontSizeToFitWidth: Bool // 默认NO
var baselineAdjustment: UIBaselineAdjustment // 默认UIBaselineAdjustmentAlignBaselines
var minimumScaleFactor: CGFloat // 缩放倍数,默认0.0
    
// 在开始截取文本前,使文本紧靠
// 最大的紧靠程度取决于系统属性:字体,行宽等
var allowsDefaultTighteningForTruncation: Bool // 默认NO

// 绘制方法
func textRectForBounds(bounds: CGRect, limitedToNumberOfLines numberOfLines: Int) -> CGRect
func drawTextInRect(rect: CGRect)
    
// 支持自动布局
// 如果设置为非零,则取决于多个label的固定内容宽度
var preferredMaxLayoutWidth: CGFloat
UISwitch——开关组件

var onTintColor: UIColor? // 开启状态颜色
var tintColor: UIColor! // 未开启状态颜色
var thumbTintColor: UIColor? // 开关颜色
    
var onImage: UIImage? // 开启状态图片
var offImage: UIImage? // 未开启状态图片
    
var on: Bool // 开启标记

// 初始化方法
init(frame: CGRect) // 此类强制适应control的大小,frame size会被忽略
init?(coder aDecoder: NSCoder)
    
// 设置开启状态
func setOn(on: Bool, animated: Bool) // 不会触发事件
UITextField——输入框组件

var text: String? // 文本内容,默认nil
@NSCopying var attributedText: NSAttributedString? // 属性文本,默认nil
var textColor: UIColor? // 默认nil. 采用不透明黑色
var font: UIFont? // 默认nil. 采用系统字体12pt大小
var textAlignment: NSTextAlignment // 对齐方式,默认NSLeftTextAlignment
var borderStyle: UITextBorderStyle // 边框样式,默认.None. 如设置成.RoundedRect, 指定的背景图片无效
var defaultTextAttributes: [String : AnyObject] // 应用属性到所有文本
    
var placeholder: String? // 提示文本,默认nil. 70%透明的灰色
@NSCopying var attributedPlaceholder: NSAttributedString? // 属性提示文本,默认nil
var clearsOnBeginEditing: Bool // 开始编辑时清空输入框,默认NO
var adjustsFontSizeToFitWidth: Bool // 字体大小自适应宽度,默认NO.
var minimumFontSize: CGFloat // 自适应最小字体大小,默认0.0.
weak var delegate: UITextFieldDelegate? // 代理,默认nil. 弱引用
var background: UIImage? // 输入框背景图,默认nil.
var disabledBackground: UIImage? // 禁用的输入框的背景图,默认nil.
    
var editing: Bool { get } // 输入状态
var allowsEditingTextAttributes: Bool // 允许修改文本属性,默认NO. 
var typingAttributes: [String : AnyObject]? // 当光标改变时自动重置
    
var clearButtonMode: UITextFieldViewMode // 清空按钮展现模式,默认.Never。.WhileEditing-输入时,.UnlessEditing-除了输入的时候,.Always-一直显示
    
var leftView: UIView? // 输入框左侧
var leftViewMode: UITextFieldViewMode // 左侧展示模式. 默认.Never
    
var rightView: UIView? // 输入框右侧
var rightViewMode: UITextFieldViewMode // 右侧展示模式,默认.Never
    
// 重写绘制方法
func borderRectForBounds(bounds: CGRect) -> CGRect
func textRectForBounds(bounds: CGRect) -> CGRect
func placeholderRectForBounds(bounds: CGRect) -> CGRect
func editingRectForBounds(bounds: CGRect) -> CGRect
func clearButtonRectForBounds(bounds: CGRect) -> CGRect
func leftViewRectForBounds(bounds: CGRect) -> CGRect
func rightViewRectForBounds(bounds: CGRect) -> CGRect
    
func drawTextInRect(rect: CGRect)
func drawPlaceholderInRect(rect: CGRect)
    
// 当对象为第一响应对象的时候显示.  如果设置为nil, 回到响应链.  如果设置了将不会有任何效果知道reloadInputViews方法被调用
var inputView: UIView?
var inputAccessoryView: UIView?

// 插入模式
var clearsOnInsertion: Bool // 默认NO. 如果设置为true,光标会隐藏,并且输入内容会替换掉原内容。移动光标后将自动设置为false

UITextView——多行文本输入框组件

weak var delegate: UITextViewDelegate?
var text: String!
var font: UIFont?
var textColor: UIColor?
var textAlignment: NSTextAlignment // 默认NSLeftTextAlignment
var selectedRange: NSRange // 选中范围
var editable: Bool // 是否可编辑
var selectable: Bool // 是否可选择
var dataDetectorTypes: UIDataDetectorTypes // 数据探测类型,例如电话号码的探测,点击电话号码可以拨打电话    

var allowsEditingTextAttributes: Bool // 默认NO
@NSCopying var attributedText: NSAttributedString!
var typingAttributes: [String : AnyObject] // 当光标移动时自动重置
    
func scrollRangeToVisible(range: NSRange) // 滚动到可视范围

var inputView: UIView?
var inputAccessoryView: UIView?
var clearsOnInsertion: Bool // 默认NO.

// 初始化方法   
init(frame: CGRect, textContainer: NSTextContainer?)
init?(coder aDecoder: NSCoder)
    
var textContainer: NSTextContainer { get } // 获取文本容器
var textContainerInset: UIEdgeInsets // 文本容器内边距
    
var layoutManager: NSLayoutManager { get } // 布局
var textStorage: NSTextStorage { get } // 文本存储器
var linkTextAttributes: [String : AnyObject]! // 链接的样式

UIImagePickerController——照片获取组件

// 判断数据类型是否可读
class func isSourceTypeAvailable(sourceType: UIImagePickerControllerSourceType) -> Bool
// 可用的读取指定数据类型的媒体类型
class func availableMediaTypesForSourceType(
  sourceType: UIImagePickerControllerSourceType) -> [String]?
    
// 相机是否可用
class func isCameraDeviceAvailable(
  cameraDevice: UIImagePickerControllerCameraDevice) -> Bool
// 闪光灯是否可用
class func isFlashAvailableForCameraDevice(
  cameraDevice: UIImagePickerControllerCameraDevice) -> Bool
// 可用的捕捉模式
class func availableCaptureModesForCameraDevice(
  cameraDevice: UIImagePickerControllerCameraDevice) -> [NSNumber]? 
// 代理
weak var delegate: protocol<UIImagePickerControllerDelegate, 
  UINavigationControllerDelegate>?
    
// 数据来源
var sourceType: UIImagePickerControllerSourceType // 默认.PhotoLibrary(从相册获取)
var mediaTypes: [String] // 媒体类型,默认kUTTypeImage.
// 是否允许编辑
var allowsEditing: Bool // 默认NO.

// 视频拍摄最大时长
var videoMaximumDuration: NSTimeInterval // 默认10分钟
// 视频质量
var videoQuality: UIImagePickerControllerQualityType // 默认.Medium. 如果设备不支持指定质量,则使用默认值
    
// 相机额外设置只有在数据来源为拍照时生效
// 显示相机控件
var showsCameraControls: Bool // 设置为No隐藏所有标准相机控件,默认YES
// 在相机上面附加一层view
var cameraOverlayView: UIView?
// 相机view变换
var cameraViewTransform: CGAffineTransform

// 拍摄照片
func takePicture()
// 客户端可以在接收到didFinishPickingMediaWithInfo的回调以后开始一个额外的捕捉
    
func startVideoCapture() -> Bool // 开始拍摄视频
func stopVideoCapture() // 结束拍摄视频
    
var cameraCaptureMode: UIImagePickerControllerCameraCaptureMode // 拍摄模式,默认.Photo
var cameraDevice: UIImagePickerControllerCameraDevice // 镜头设备,默认.Rear
var cameraFlashMode: UIImagePickerControllerCameraFlashMode // 闪光灯模式,默认.Auto.<strong> </strong>































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值