我们最近发布了我们的应用程序版本1.0.0,并在过去几天发出了许多促销代码.我只是想知道它们是否仍然适用于我们刚刚提交的1.0.1更新?
我必须在滚动的UITextView中更新少量文本.我只会插入光标当前所在的字符,我只需按一下导航栏上的按钮即可.
我的问题是每当我调用文本视图的setText方法时,它都会跳转到文本的底部.我已经尝试使用contentOffset并重置selectedRange但它不起作用!这是我的例子:
// Remember offset and selection
CGPoint contentOffset = [entryTextView contentOffset];
NSRange selectedRange = [entryTextView selectedRange];
// Update text
entryTextView.text = entryTextView.text;
// Try and reset offset and selection
[entryTextView setContentOffset:contentOffset animated:NO];
[entryTextView setSelectedRange: selectedRange];
Run Code Online (Sandbox Code Playgroud)
有没有办法可以在没有任何滚动动作的情况下更新文本...好像他们只是在键盘上输入了一些东西?
编辑:
我已经尝试使用textViewDidChange:delegate方法,但它仍然没有滚动到原始位置.
- (void)textViewDidChange:(UITextView *)textView {
if (self.programChanged) {
[textView setSelectedRange:self.selectedRange];
[textView setContentOffset:self.contentOffset animated:NO];
self.programChanged = NO;
}
}
- (void)changeButtonPressed:(id)sender {
// Remember position
self.programChanged = YES;
self.contentOffset = [entryTextView contentOffset];
self.selectedRange = [entryTextView selectedRange];
// Update text
entryTextView.text = entryTextView.text;
}
Run Code Online (Sandbox Code Playgroud) 我想valueForKeyPath在my 上使用NSDictionary,但问题是其中一个键是一个以@符号开头的字符串.我无法控制密钥的命名.
我在尝试创建密钥路径时遇到问题,因为我收到格式异常,即使在尝试转义@符号时也是如此:
这很好用:
[[[dict objectForKey:@"key1"] objectForKey:@"@specialKey"] objectForKey:@"key3"]
Run Code Online (Sandbox Code Playgroud)
但是这些都不起作用:
[dict valueForKeyPath:@"key1.@specialKey.key3"]
[dict valueForKeyPath:@"key1.@@specialKey.key3"]
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢,
麦克风
我正在尝试监控我的核心数据使用情况,但所有核心数据工具都在仪器中显示为灰色.它也不能从Xcode中的"Run with Performance Tool"中获得.它说核心数据工具适用于Mac而且它不能在iPhone上使用,但我听说有人在谈论使用它,它也在Apple文档中提到过.
我怎样才能让他们工作?
谢谢!
我如何告诉我UITableViewController使用我的自定义UITableView子类tableView而不是常规子类UITableView?
我正在处理来自JSON源的大型64位无符号整数,这些整数被解析为NSDecimalNumbers,这显然是"忠实地表示任意精度数".
我遇到的问题是我无法从这堂课中得到正确的数字.例如(使用可能的最大值):
print (unsigned long long) [[NSDecimalNumber decimalNumberWithString:@"18446744073709551615"] unsignedLongLongValue]
= 0 // Incorrect
print (unsigned long long) [[NSDecimalNumber decimalNumberWithString:@"9223372036854775808"] unsignedLongLongValue]
= 9223372036854775808 // Correct
print (unsigned long long) [[NSDecimalNumber decimalNumberWithString:@"9223372036854775810"] unsignedLongLongValue]
= 9223372036854775808 // Incorrect
Run Code Online (Sandbox Code Playgroud)
看起来我无法获得大于NSDecimalNumber中最大签名long long值的任何值.它不喜欢大于9223372036854775808的值.但是看起来这个数字是以NSDecimalNumber中的完整精度存储的,如:
po [[NSDecimalNumber decimalNumberWithString:@"18446744073709551615"] stringValue]
= 18446744073709551615
Run Code Online (Sandbox Code Playgroud)
我注意到NSNumber对象可以正常处理这些大数字,unsignedLongLongValue可以正常工作.它只是NSDecimalNumbers(我坚持使用),它不起作用.
如何从NSDecimalNumbers中获取正确的无符号long long值?或者至少将它们转换为unsignedLongLongValue可以工作的NSNumber对象.
我正在构建一个UICollectionViewLayout支持自动调整单元格的自定义,当估计项目高度大于最终高度时,我遇到了问题.当首选布局属性触发部分失效时,下面的某些单元格变为可见,并非所有单元格都应用了正确的框架.
在下图中,左侧屏幕截图显示了具有较大估计高度的初始渲染,右侧图像显示了估计高度小于最终高度的位置.
在iOS 10和11上会出现此问题.
使用较小的估计高度,布局期间内容大小会增加,并且首选布局属性不会导致更多项目移动到可见矩形中.集合视图完美地处理这种情况.
失效和帧计算的逻辑似乎是有效的,所以我不确定为什么集合视图不处理部分失效导致新项目进入视图的情况.
当更深入地检查时,看起来将被移动到视图中的最终视图被无效并被要求计算它们的大小,但是它们的最终属性未被应用.
这是用于演示目的的自定义布局的非常精简版本的布局代码,它展示了这个故障:
/// Simple demo layout, only 1 section is supported
/// This is not optimised, it is purely a simplified version
/// of a more complex custom layout that demonstrates
/// the glitch.
public class Layout: UICollectionViewLayout {
public var estimatedItemHeight: CGFloat = 50
public var spacing: CGFloat = 10
var contentWidth: CGFloat = 0
var numberOfItems = 0
var heightCache = [Int: CGFloat]()
override public func prepare() {
super.prepare()
self.contentWidth …Run Code Online (Sandbox Code Playgroud) 我YES在视图控制器的shouldAutorotateToInterfaceOrientation函数YES中返回,我可以看到正在返回的断点,但是willRotateToInterfaceOrientation没有调用该方法,也没有任何其他旋转方法.好像回来后YES没有任何事情发生!
有任何想法吗?
麦克风
我有一个关于使用SSL保护电子邮件的问题.
如果我获得SSL证书以保护我的电子邮件,那将意味着我的邮件客户端和我的邮件服务器之间的连接将被加密.因此,任何收听的人都无法查看我的电子邮件或用户名和密码.但是邮件服务器和目标邮件服务器之间会发生什么?在那里和收件人的邮件客户端之间?如果收件人未使用SSL,电子邮件及其内容是否仍然安全?
另外,出于兴趣,人们只是从你的内部网络(使用数据包嗅探器的人)"聆听"的危险还是存在人们在云端监听的危险?
谢谢,
迈克尔
我正在使用Mac上的Versions应用程序来处理我的文件的SVN存储库.我的工作副本大约是6 MB,但我的存储库只有1.4 MB,我在存储库中持有五个版本!
怎么会这样?
iphone ×6
objective-c ×2
app-store ×1
cocoa ×1
cocoa-touch ×1
core-data ×1
email ×1
instruments ×1
ios ×1
nsdictionary ×1
repository ×1
rotation ×1
security ×1
ssl ×1
svn ×1
uikit ×1
uitableview ×1
uitextview ×1
uiview ×1