iOS开发技巧 - 使用UISegmentedControl来对信息进行分组

 

 

 

(Swift)

import UIKit
class ViewController: UIViewController {
    var segmentedControl:UISegmentedControl!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let segments = [
            "iPhone",
            "iPad",
            "iPod",
            "iMac"]
        
        segmentedControl = UISegmentedControl(items: segments)
        segmentedControl.center = view.center
        
        segmentedControl.addTarget(self,
            action: "segmentedControlValueChanged:",
            forControlEvents: .ValueChanged)
        
        self.view.addSubview(segmentedControl)
    }
    
    func segmentedControlValueChanged(sender: UISegmentedControl){
        let selectedSegmentIndex = sender.selectedSegmentIndex
        let selectedSegmentText = sender.titleForSegmentAtIndex(selectedSegmentIndex)
        println("Segment \(selectedSegmentIndex) with text" + " of \(selectedSegmentText) is selected")
    }
}

 

(Objective-C)

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic, strong) UISegmentedControl *mySegmentedControl;

@end

@implementation ViewController
...
- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSArray *segments = [[NSArray alloc] initWithObjects:
        @"iPhone",
        @"iPad",
        @"iPod",
        @"iMac", nil];
        
    self.mySegmentedControl = [[UISegmentedControl alloc]
        initWithItems:segments];
    self.mySegmentedControl.center = self.view.center;
    
    [self.view addSubview:self.mySegmentedControl];
    
    [self.mySegmentedControl addTarget:self
        action:@selector(segmentChanged:)
        forControlEvents:UIControlEventValueChanged];
}

- (void) segmentChanged:(UISegmentedControl *)paramSender {
    if ([paramSender isEqual:self.mySegmentedControl]) {
        NSInteger selectedSegmentIndex = [paramSender selectedSegmentIndex];
        
        NSString *selectedSegmentText =
            [paramSender titleForSegmentAtIndex:selectedSegmentIndex];
        
        NSLog(@"Segment %ld with %@ text is selected",
            (long)selectedSegmentIndex,
            selectedSegmentText);
    }
}

 

(Swift)

let segments = NSArray(objects:
    "Red",
    UIImage(named: "blueDot")!,
    "Green",
    "Yellow")
segmentedControl = UISegmentedControl(items: segments)

 

(Objective-C)

NSArray *segments = @[
    @"iPhone",
    [UIImage imageNamed:@"iPad"],
    @"iPod",
    @"iMac",
    ];
    
self.mySegmentedControl = [[UISegmentedControl alloc]
    initWithItems:segments];
    
CGRect segmentedFrame = self.mySegmentedControl.frame;
segmentedFrame.size.height = 128.0f;
segmentedFrame.size.width = 300.0f;
self.mySegmentedControl.frame = segmentedFrame;

self.mySegmentedControl.center = self.view.center;

[self.view addSubview:self.mySegmentedControl];

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/303415

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。