gpt4 book ai didi

iOS:以编程方式创建/设置复杂 View 而无需每次都运行模拟器的提示

转载 作者:行者123 更新时间:2023-11-29 01:15:57 25 4
gpt4 key购买 nike

我是 iOS 开发的新手。

我需要创建一个布局非常复杂的 View ,我只需要以编程方式创建它。

那个view里面有labels,scrollviews等等。

现在为了正确设置标签,我需要多次运行模拟器。这正在减慢我的开发过程。

我想知道当我们通过代码(无 XIB)创建 View 时,是否有一种方法可以在不连续运行模拟器的情况下轻松设置标签/ View 。

如果有人能指出正确的方向,我将不胜感激。

谢谢!

最佳答案

当我想快速构建 View 类的原型(prototype)时,我会使用 Playground。使用 View 预览功能时,您可以使用要显示的任何框架创建 View 。下面是 iPhone 5s 屏幕上显示的一个非常基本的示例 View :

//: Playground - noun: a place where people can play

import Foundation
import UIKit

class MainView : UIView {

var contentContainer : UIScrollView
var header : UILabel
var content : UILabel
var image : UIImageView

override init(frame: CGRect) {
contentContainer = UIScrollView(frame: CGRect(origin: CGPoint.zero, size: frame.size))
contentContainer.backgroundColor = UIColor.whiteColor()

header = UILabel(frame: CGRect(x: 10, y: 10, width: frame.width-20, height: 30))
header.font = UIFont.systemFontOfSize(20, weight: UIFontWeightBold)
header.text = "MY VIEW HEADER"
header.textAlignment = NSTextAlignment.Center
header.textColor = UIColor.grayColor()
contentContainer.addSubview(header)

image = UIImageView(frame: CGRectMake(0, 0, 200, 100))
image.center = CGPoint(x: frame.width/2, y: header.frame.origin.y + header.frame.size.height + 10 + image.frame.size.height/2)
image.backgroundColor = UIColor.orangeColor()
contentContainer.addSubview(image)

content = UILabel(frame: CGRect(x: 20, y: image.frame.origin.y + image.frame.size.height + 20, width: frame.width-40, height: 110))
content.text = "Bacon ipsum dolor amet flank kielbasa drumstick, ham tongue pancetta shank. Shankle tenderloin filet mignon andouille doner short ribs meatball frankfurter. Ham boudin tri-tip porchetta fatback, bresaola landjaeger kielbasa brisket pork belly bacon picanha alcatra ham hock. Venison turducken boudin pork loin meatloaf spare ribs meatball biltong rump t-bone bacon ground round leberkas filet mignon. Shankle meatloaf ham hock strip steak porchetta."
content.numberOfLines = 0
content.font = UIFont.systemFontOfSize(10, weight: UIFontWeightLight)
contentContainer.addSubview(content)

contentContainer.contentSize = CGSizeMake(contentContainer.frame.width, content.frame.origin.y + content.frame.height + 50)

super.init(frame: frame)
self.addSubview(contentContainer)
}

//needed to remove that annoying warning
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

}

//now preview the resulting view by clicking the dot on the left side -->
let view = MainView(frame: CGRect(x: 0, y: 0, width: 320, height: 568))

希望这对您有所帮助!

关于iOS:以编程方式创建/设置复杂 View 而无需每次都运行模拟器的提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35180246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com