小编Ste*_*Arn的帖子

UITabBar selectionIndicatorImage填充

UITabBar为此设置了自定义指标图像

UIImage *tabBarSelectedImage = [[UIImage imageNamed:@"tabBar_selected"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UITabBar appearance] setSelectionIndicatorImage:tabBarSelectedImage];
Run Code Online (Sandbox Code Playgroud)

并在我的周围获得4px填充tabBarSelectedImage.是否可以将填充设置为0px?这样我tabBarSelectedImage填满了整个空间,没有边框可见?

iphone uitabbar

20
推荐指数
2
解决办法
6536
查看次数

Objective-C:没有实现的@property声明(@synthesize)

据我所知,@ property表示.h文件中的getter和setter,而@synthesize在.m文件中实现了getter和setter.此外,可以为getter和setter编写自己的实现,而不是使用@synthesize.

因此,如果我们总是需要实现setter/getter,为什么我们需要另外声明呢?@property似乎对我来说是语义冗余,也是bug的来源.

当我声明@property但忘记用@synthesize或手动实现它时会发生什么?当我使用@synthesize并忘记@property声明时会发生什么?

properties objective-c

8
推荐指数
2
解决办法
5504
查看次数

对齐两个UILabel文本

我想对齐两个文本的开头UILabel.我对齐了两个UILabels(黄色和灰色背景)并用于sizeToFit:缩小UILabels到内容但文本没有完全左对齐.左边有一个空隙.根据第一个字符,间隙更大或更小.我想在下图中对齐红线.灰色的小字体甚至有一个小的差距,UILabel但几乎看不到.

在此输入图像描述

随着Z角色的差距变小,但仍然可以通过留下的黄色区域看到Z

在此输入图像描述

简单的UILabel对齐对我的特定问题没有帮助,因为文本内容是动态的而不是静态的.因此,根据我从后端获得的数据,可以有任何组合.因此,我希望有一个UIFontUILabel属性可以根据文本的当前呈现返回间隙的大小.

我知道,有很大的UIFont类似相关属性baseline,capHeight以及ascender一个可以访问对齐文本,但似乎没有属性,将返回的左侧这种差距的值.

uilabel uifont ios

8
推荐指数
1
解决办法
654
查看次数

UICollectionView的自定义焦点引擎行为

我使用标准UICollectionView的部分.我的细胞像网格一样布局.如果用户使用Apple TV遥控器移动焦点,则所选方向上的下一个单元格会正确聚焦.但是如果网格中存在"间隙",则默认焦点引擎跳过部分.这样做是为了聚焦一个可能在几个部分之外但在同一列中的细胞.

简单示例:共有3个部分.第一部分有3个单元格.第二个有2个单元,最后一个有3个单元.见下图:

在此输入图像描述

如果绿色单元格被聚焦并且用户触摸向下方向,则黄色单元格被聚焦并且聚焦引擎跳过第二部分.

我想强迫它没有任何部分可以跳过.因此,我不想聚焦黄色细胞而是聚焦蓝色细胞.

我了解到Apple TV Focus引擎内部的工作方式类似于网格系统,所描述的行为是默认行为.为了允许其他运动(例如对角线),我们需要通过放置隐形UIFocusGuides 来帮助聚焦引擎, 这可以将聚焦引擎重定向到preferredFocusedView.

因此,在下面的图像中,有一个不可见的红色焦点指南放置在一个UICollectionView部分的空白区域中,该部分将向下焦点重定向到所需的蓝色单元格.我认为这将是理论上的完美解决方案.

在此输入图像描述

但是我如何将UIFocusGuides 添加到UICollectionView部分的所有空白区域?我尝试了几件事,但没有任何效果.也许将它添加为装饰器视图,但这似乎是错误的.或者作为附加单元格,但是会破坏数据层并且约束锚点不起作用.

有没有人知道如何添加UIFocusGuides UICollectionView

focus apple-tv uicollectionview tvos

8
推荐指数
1
解决办法
1157
查看次数

XCode断点应该只挂起当前线程

我需要调试多线程错误.因此,为了获得生成崩溃的条件,我需要在代码中的特定点停止一个线程,并等待另一个线程到达第二个断点.

我现在遇到的问题是,如果一个线程遇到断点,则所有其他线程都被挂起.有没有办法只停止一个线程,让其他线程运行,直到它们到达第二个断点?

debugging xcode multithreading objective-c ios

7
推荐指数
1
解决办法
1615
查看次数

如果条目不存在,则使用PostgreSQL进行多次插入

如果条目不存在,我想将数据插入到多个表中.

在我的情况下,我有一个餐厅餐桌,一个位置表,一张foodtype桌子和一些帮助表,如restaurant_locationrestaurant_foodtype.现在我想插入一个新的餐厅条目,如果条目不存在,则填写位置和食物类型信息.

所以类似于:

IF NOT (select 1 from restaurant where name='restaurantname') THEN
 INSERT INTO restaurant(x,y) VALUES (valuex,valuey);
 INSERT INTO restaurant_location(rest_id,..) VALUES (rest_id,..);
 INSERT INTO restaurant_foodtype(rest_id,..) VALUES (rest_id,..);
 ...
END IF
Run Code Online (Sandbox Code Playgroud)

我怎么能用简单的SQL做到这一点?

sql postgresql common-table-expression sql-insert

3
推荐指数
1
解决办法
3328
查看次数

Android O 自动填充名字、姓氏和生日的功能

是否也可以使用新的 Android Oreo 自动填充功能来庆祝生日?有没有办法区分名字和姓氏?我只在 API 文档中看到了 AUTOFILL_HINT_NAME。

android autofill android-8.0-oreo

3
推荐指数
1
解决办法
2819
查看次数