我想使用UITabbarItems底部的粗线作为选择指示器。由于该应用程序必须能在不同手机尺寸上使用,因此我无法将图像用作选择指示器。这就是为什么我认为我必须使用Swift来做到这一点的原因。(该行必须是页面宽度的1/3)。
我尝试使用UITabBarItem.appearance()
但没有成功。
我解决了我的问题。
这个小代码段的功能:
class FirstViewController: UIViewController {
let rectShape = CAShapeLayer()
let indicatorHeight: CGFloat = 5
var indicatorWidth: CGFloat!
let indicatorBottomMargin: CGFloat = 2
let indicatorLeftMargin: CGFloat = 2
override func viewDidLoad() {
super.viewDidLoad()
// setup tabbar indicator
rectShape.fillColor = UIColor.redColor().CGColor
indicatorWidth = view.bounds.maxX / 2 // count of items
self.tabBarController!.view.layer.addSublayer(rectShape)
self.tabBarController?.delegate = self
// initial position
updateTabbarIndicatorBySelectedTabIndex(0)
}
func updateTabbarIndicatorBySelectedTabIndex(index: Int) -> Void
{
let updatedBounds = CGRect( x: CGFloat(index) * (indicatorWidth + indicatorLeftMargin),
y: view.bounds.maxY - indicatorHeight,
width: indicatorWidth - indicatorLeftMargin,
height: indicatorHeight)
let path = CGPathCreateMutable()
CGPathAddRect(path, nil, updatedBounds)
rectShape.path = path
}
}
extension FirstViewController: UITabBarControllerDelegate {
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
updateTabbarIndicatorBySelectedTabIndex(tabBarController.selectedIndex)
}
}
问题内容: 在可选数组的末尾附加元素的正确方法是什么?假设我有一个可选数组myArray,我想在末尾附加“ 99”。Append()在nil数组上不起作用,因此我可以找到的唯一解决方案是以下方法,但是它看起来并不十分优雅: 问题答案: 您可以使用的事实,通过可选的链接调用的方法总是返回一个可选的值,即如果它是 不可能的 调用方法: 如果则则追加新元素并返回,以便不执行if块。 如果则不执行任何操作
问题内容: 我对Swift还是相当陌生,在寻找一种将空间添加为千位分隔符的方法时遇到了很多麻烦。 我希望实现的是获取计算结果并将其显示在文本字段中,以便格式为: 2358 000 代替 2358000 例如。 我不确定是否应该格式化Int值,然后将其转换为String,或者在将Int值转换为String之后添加空格。任何帮助将不胜感激。 问题答案: 您可以使用NSNumberFormatter指定
我想创建一个列表视图,只能通过鼠标进行多项选择(不按住ctrl或Shift) 单击某个项目应选择此项目。如果选择了其他项目,请将此新项目添加到所选列表中。以前选中此项目时,请取消选中它。 我不想保留选定的项目。selectionModel上有一个名为“selectIndices()”的方法,它只接受一个或多个整数,而不是整数列表。。。 有男孩有主意吗?
问题内容: 我正在尝试显示带有的。当我添加行时: 我收到一个错误: 致命错误:解开Optional值时意外发现nil 这通过呈现在我的内部。 我已经从这里下载了代码,并且工作正常。我将该方法复制并粘贴到我的代码中,但它中断了。最后一行的 自我 存在没有影响。 问题答案: 因此,我开始检查看看我的代码与工作代码之间可能有什么不同。我注意到我的ViewController扩展了 显然这意味着我需要设置
问题内容: 我正在尝试添加内容,但我做不到…有人可以帮助我吗? 这是我的代码: 问题答案: 您需要实现委托方法并从那里返回。 这是一个例子: 请记住,当您要使用自己的自定义图像时,需要创建一个 普通 图像。本应只用于标准引脚注解。 另请注意,您不应在致电后立即尝试访问。可能尚未准备好。 使用委托方法。 您还需要致电/
本节的 TypeScript 版本有待更新 若要添加列以选择单行或所有行,可以使用 GridRowSelectionMixin。 GridRowSelectionMixin 在 Serenity 1.6.8+ 有效。 示例代码: public class MyGrid : EntityGrid<MyRow> { private GridRowSelectionMixin rowSelect