一个可定制的 Interface Builder 中的内容切换转盘
HCRotaryWheel 通过 CocoaPods 获得。要安装它,只需在 Podfile 中添加以下行
use_frameworks!
pod 'HCRotaryWheel', '~> 0.1.3'
添加 use_frameworks! 允许 Cocoapods 解析 IBDesignable 元素
在 Attributes 检查器中编辑
在 ViewController.h 中将 HCRotaryWheelView 拖成 IBOutlet 并添加 RotaryProtocol 以调用 Delegate 方法
#import "HCRotaryWheel.h"
@interface ViewController : UIViewController <RotaryProtocol>
@property (weak, nonatomic) IBOutlet UILabel *textLabel;
@property (weak, nonatomic) IBOutlet HCRotaryWheelView *rotaryWheelView;
@end
In ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
//set view controller as delegate to Rotary Wheel
self.rotaryWheelView.delegate = self;
//set initial Text for a label or other content
self.textLabel.text = @"Bear";
}
// built in HCRotaryWheel Delegate Method
- (void) wheelDidChangeValue:(int)currentSector {
// change any text when wheel rotates, is tapped or dragged
self.textLabel.text = [self getDescriptionText:currentSector];
}
- (NSString *) getDescriptionText:(int)newValue {
NSString *text = @"";
switch(newValue) {
case 0:
text = @"Bear";
break;
case 1:
text = @"Monkey";
break;
case 2:
text = @"Dog";
break;
case 3:
text = @"Ghost";
break;
case 4:
text = @"Peace";
break;
case 5:
text = @"Alien";
break;
default:
break;
}
return text;
}
import UIKit
import HCRotaryWheel
class ViewController: UIViewController, RotaryProtocol {
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var hcview: HCRotaryWheel!
override func viewDidLoad() {
super.viewDidLoad()
self.hcview.delegate = self
self.textField.text = "Bear"
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func wheelDidChangeValue(currentSector: Int32) {
self.textField.text = self.getDescriptionText(currentSector);
}
func getDescriptionText(newValue :Int32) -> String
{
switch newValue {
case 0:
return "Bear"
case 1:
return "Monkey"
case 2:
return "Dog"
case 3:
return "Ghost"
case 4:
return "Peace"
case 5:
return "Alien"
default:
return "Bear"
}
}
Hannah Carney, [email protected]
HCRotaryWheel 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。