代码实现类似设置界面,是这样做吗?


图片描述

代码如下:
感觉好繁琐哦。


 class SearchViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

var searchTableView: UITableView?
var genderSegment: UISegmentedControl?

override func viewDidLoad() {
    super.viewDidLoad()

    self.title = "Search"

    self.searchTableView = UITableView(frame: CGRectMake(0, 0, self.view.frame.width, self.view.frame.height), style: UITableViewStyle.Grouped)
    self.searchTableView?.delegate = self
    self.searchTableView?.dataSource = self

    self.view.addSubview(self.searchTableView!)
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 5
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = UITableViewCell()
    cell.selectionStyle = UITableViewCellSelectionStyle.None

    switch indexPath.row {
    case 0:
        cell.textLabel?.text = "Gender"

        self.genderSegment = UISegmentedControl(items: ["Boy", "Girl", "All"])
        self.genderSegment?.frame.origin.x = self.view.frame.width - self.genderSegment!.frame.width - 10
        self.genderSegment?.frame.origin.y = cell.frame.height / 2 - self.genderSegment!.frame.height / 2

        cell.contentView.addSubview(self.genderSegment!)

    default:
        cell.textLabel?.text = nil
    }

    return cell
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

}

ios swift objective-c iphone

losstoY 10 years, 2 months ago

首先,我觉得楼主你既然决定入这一行了,还怕这点繁琐么?这么一点代码能达到这样的功能已经很OK,而且我觉得肯定是引用了某些UI类库的吧,你写的代码又有多少呢?
我想问的是:你问这个问题究竟希望会得到怎样的回答?是解决问题?得到安慰?发现改变世界的那一行简单的代码?还是你这个问题你只是想来秀一下你的代码?这些种种我再怎么考虑都觉得这个问题都不应该在这里出现,或者说 代码实现类似设置界面,是这样做吗 根本就不是一个问题

好吧,我承认,我是来吐槽的。虽然我不懂OC,不懂Swift

萌系怪叔叔 answered 10 years, 2 months ago

这是代码实现的方式,如果是静态的TableView可以直接在StoryBoard里拖动Cell进去的=。=那么你一行代码都不用写的。。。

===

为什么点踩啊,这个问题还行啊,没搞懂。请点踩的同学出来说明一下?

魂断六扇门 answered 10 years, 2 months ago

Your Answer