我正在使用以下函数从种子点生成指定半径内的随机地理坐标:
function randomGeo(center, radius) {
var y0 = center.latitude;
var x0 = center.longitude;
var rd = radius / 111300;
var u = Math.random();
var v = Math.random();
var w = rd * Math.sqrt(u);
var t = 2 * Math.PI * v;
var x = w * Math.cos(t);
var y = w * Math.sin(t);
var xp = x / Math.cos(y0);
return {
'latitude': y + y0,
'longitude': xp + x0
};
}
Run Code Online (Sandbox Code Playgroud)
我使用2000米半径和以下种子点在循环中多次执行此操作:
location: { // Oxford
latitude: 51.73213,
longitude: -1.20631 …Run Code Online (Sandbox Code Playgroud) 我已经使用这个答案来为特定范围的文本创建CGRect.
在这里UITextView我设置了它attributedText(所以我有一堆带有不同字形大小的样式文本).
这对于左对齐的第一行文本非常有用,但在使用NSTextAlignmentJustified或时使用时会产生一些非常奇怪的结果NSTextAlignmentCenter.
当线条缠绕时它也不能正确计算,或者(如果有\n线条断裂).
我得到这样的东西(这是中心对齐):

相反,我期待这个:

这个有一个\n换行符 - 前两个代码位被成功突出显示,但最后一个more code for you to see不是因为文本换行没有考虑到x,y计算中.
- (void)formatMarkdownCodeBlockWithAttributes:(NSDictionary *)attributesDict
withHighlightProperties:(NSDictionary *)highlightProperties
forFontSize:(CGFloat)pointSize
{
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"`.+?`" options:NO error:nil];
NSArray *matchesArray = [regex matchesInString:[self.attributedString string] options:NO range:NSMakeRange(0, self.attributedString.length)];
for (NSTextCheckingResult *match in matchesArray)
{
NSRange range = [match range];
if (range.location != NSNotFound) {
self.textView.attributedText = self.attributedString;
CGRect codeRect = [self frameOfTextRange:range forString:[[self.attributedString string] …Run Code Online (Sandbox Code Playgroud) 我可以处理两个事件:键盘显示和键盘隐藏时.在iOS 8.2及更早版本中,一切都运行良好.
但是如何在更改键盘语言时处理事件?当您将英文键盘更改为表情符号键盘时,表情符号键盘的高度(在ios 8.3中)更大并且隐藏了内容.
或者你有一个解决方案如何控制iOS 8.3表情符号键盘高度?

NSAttributedParagraphStyle我在Interface Builder中可以看到无数的设置:

但这些都不是用于文本字距调整.有没有办法在Xcode 7的Interface Builder中调整文本字距以获取属性文本?
(请不要回答如何在代码中执行此操作 - 我已经知道如何执行此操作!)
我不知道从哪里开始.显然CGRectIntersectsRect在这种情况下不起作用,你会明白为什么.
我有一个UIView的子类,里面有一个UIImageView,放在UIView的确切中心:

然后我旋转自定义UIView以维持内部UIImageView的框架,同时仍然能够执行CGAffineRotation.结果框架看起来像这样:

我需要阻止用户使这些UIImageViews相交,但我不知道如何检查两个UIImageViews之间的交集,因为它们的框架不仅不适用于父UIView,而且它们在不影响其框架的情况下旋转.
我尝试的唯一结果是不成功的.
有任何想法吗?
难以尝试调整特定通道的色调(或者更具体地说,特定范围的颜色 - 在这种情况下,红色).看着色调过滤器,我想也许我可能会通过注释掉绿色和蓝色修饰符来获得某个地方,只影响红色通道上的变化:
precision highp float;
varying highp vec2 textureCoordinate;
uniform sampler2D inputImageTexture;
uniform mediump float hueAdjust;
const highp vec4 kRGBToYPrime = vec4 (0.299, 0.587, 0.114, 0.0);
const highp vec4 kRGBToI = vec4 (0.595716, -0.274453, -0.321263, 0.0);
const highp vec4 kRGBToQ = vec4 (0.211456, -0.522591, 0.31135, 0.0);
const highp vec4 kYIQToR = vec4 (1.0, 0.9563, 0.6210, 0.0);
const highp vec4 kYIQToG = vec4 (1.0, -0.2721, -0.6474, 0.0);
const highp vec4 kYIQToB = vec4 (1.0, -1.1070, 1.7046, 0.0);
void main () …Run Code Online (Sandbox Code Playgroud) 众所周知,这\b意味着正则表达式中的单词边界.但是repython中的以下模块代码不起作用:
>>> p=re.compile('\baaa\b')
>>> p.findall("aaa vvv")
[]
Run Code Online (Sandbox Code Playgroud)
我认为返回的结果findall应该是["aaa"],但它没有找到任何东西.怎么了?
我正在尝试使用从中检索的适当高度垂直居中UITextView sizeThatFits.有许多其他答案表明这是计算这个的最合适的方法.
(请注意,我已经尝试使用普通字符串和属性字符串,并且两者都发挥相同的行为).
无论我尝试什么(即使使用属性字符串并将字体大小或行高设置为更大或更小的东西),它总是只显示一定截断数量的文本字符(在这种情况下,3行,它总是完全相同) ).我错过了什么?
_textView.text = [_collectionDescription lowercaseString];
_textView.font = [UIFont fontLight:22];
_textView.textColor = [UIColor whiteColor];
_textView.textAlignment = NSTextAlignmentCenter;
_constraintTextViewHeight.constant = ceilf([_textView sizeThatFits:CGSizeMake(_textView.frame.size.width, FLT_MAX)].height);
[_textView setNeedsDisplay];
[_textView updateConstraints];
Run Code Online (Sandbox Code Playgroud) Object.freeze()状态的文档,它只允许冻结对象,如果它的原始类型实际上是"对象".我正在使用一些JSON数据对象,并希望使用它来将特定属性设置为不可变(例如,uuid,它在db中是不可变的).Object.freeze()似乎是完美的解决方案,直到:
TypeError: Object.freeze called on non-object
该死.
所以,假设我有一个对象(从JSON解析),如下所示:
{
"uuid": "765926c1-911e-49b2-b597-48cf0df59a17",
"firstName": "Bob",
"lastName": "Dole"
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以迫使uuid变成一成不变的吗?
我在UITableView中为登录表单实现了几个UITextField.当第一次在第一次响应第一响应者时,发生了一个非常奇怪的动画跳跃.由于这些几乎完全是在Interface Builder中使用.xib文件构建的,因此我几乎没有要添加的代码.但是这里有一个有趣的.gif来显示行为:

更新:
我把它缩小到我正在听键盘事件来调整视图约束的事实.这是导致问题的代码:
func keyboardWillHide(notification: NSNotification) {
// tried self.formContainer.layoutIfNeeded() here too to force pending layouts
formContainerYConstraint.constant = 40
UIView.animateWithDuration(0.4) { () -> Void in
self.formContainer.layoutIfNeeded()
}
}
Run Code Online (Sandbox Code Playgroud)
...表单容器是一个包含表视图和登录按钮的视图.
ios ×7
objective-c ×5
javascript ×2
uitextview ×2
autolayout ×1
frame ×1
geolocation ×1
gpuimage ×1
immutability ×1
intersection ×1
ios8.3 ×1
kerning ×1
opengl-es ×1
python ×1
regex ×1
swift ×1
uitextfield ×1
xcode ×1