【问题标题】:Design like Instagram notifications (Especially someone mentioned you in a comment) with autolayout使用自动布局设计 Instagram 通知(尤其是有人在评论中提到您)
【发布时间】:2015-09-23 14:38:32
【问题描述】:

在 android 中,Instagram 应用程序通知视图具有多种操作,例如,如果我们点击进入另一个视图的用户图像(左侧),如果我们点击带有不同视图的 Instagram 照片(右侧)然后在中间几乎没有操作这里的例子:

有人在评论中提到了你的名字

某人(uibutton- with action- blue color)在评论中提到了你(uilabel- no action- black color)yourname(uibutton- with action- blue color)

我的应用具有相同的视图,例如 Instagram 通知视图左侧(带有 uibutton 操作的用户个人资料图像)、右侧图像(例如带有 uibutton 操作的 insta 上传照片),中间混合了 uilabel 和 uibuttons。

我不擅长编程约束。所以在这里我没有发布任何编码限制:(

我的限制如下:

[左侧图像] - 前导超级视图 - 尾随中间视图 - 恒定高度和宽度

[右侧图像] - 尾随父视图 - 前导中间视图 - 恒定高度和宽度

[中间视图] - 前导左侧图像 - 尾随右侧图像 - 中心 y

在中间视图中有 3 个元素,依次为 1stuibutton - uilabel - 2nduibutton - 恒定高度

[1stuibutton] - 前导超级视图 - 尾随 uilabel - y - 顶部到 5 - 恒定高度 - 动态宽度

[2nduibutton] - 尾随 superview - 前导 uilabel - y - 按钮到 5 - 恒定高度 - 动态宽度

[uilabel] - 尾随 2nduibutton - 前导 1stuibutton - y - 顶部到 5 - 动态高度

希望这些限制可以理解 :)

我的问题是 uilabel number of line = 0 所以 uilabel 高度只增加了 2nduibutton 不会加入 uilabel 最后一个词。

所以我尝试了 nsattributedtext,它只是颜色不同,我不知道如何为特定文本设置操作。

【问题讨论】:

  • 一两张截图可以帮助理解。
  • 您想要带约束的屏幕截图还是带有 nsattributedtext 的屏幕截图?现在我正在使用 nsattributedtext 所以需要时间来更新约束屏幕截图@Larme

标签: objective-c xcode autolayout constraints instagram


【解决方案1】:

为这个问题找到了一个解决方案

这里是我得到的链接stack over flow answer

- (void)userTagsGesture:(UITapGestureRecognizer *)recognizer {

UITextView *textView =  (UITextView *)recognizer.view;

CGPoint location = [recognizer locationInView:textView];

CGPoint tappedPosition = CGPointMake(location.x, location.y);

//get location in text from textposition at point
UITextPosition *tapPosition = [textView closestPositionToPoint:tappedPosition];

//fetch the word at this position (or nil, if not available)
UITextRange *textRange = [textView.tokenizer rangeEnclosingPosition:tapPosition withGranularity:UITextGranularityWord inDirection:UITextLayoutDirectionRight];

NSString *tappedSentence = [textView textInRange:textRange];

NSLog(@"%@",tappedSentence);
}

像往常一样设计并得到了我需要的东西,也许它会帮助其他人。 :)

【讨论】:

    猜你喜欢
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多