ios - 如何将气球图像设置到 View 的右侧?

标签 ios objective-c ipad offset cgfloat

上下文:

我正在构建一个聊天应用程序,我使用了苹果的代码 sample .

它看起来与 native 消息应用程序完全一样。我的问题出在我正在实现的 iPad 版本上。

这是一张图片:

enter image description here

正如您在图片中看到的,我需要将右气球放在屏幕的右边缘

我跟踪代码,缩小需要调整的代码块范围。

// Comput the X,Y origin offsets
CGFloat xOffsetLabel;
CGFloat xOffsetBalloon;
CGFloat yOffset;

if (TRANSCRIPT_DIRECTION_SEND == transcript.direction) {//
    // Sent messages appear or right of view
    xOffsetLabel = 320 - labelSize.width - (BALLOON_WIDTH_PADDING / 2) - 3;
    xOffsetBalloon = 320 - balloonSize.width;
    yOffset = BUFFER_WHITE_SPACE / 2;
    _nameLabel.text = @"";
    // Set text color
    _messageLabel.textColor = [UIColor whiteColor];
    // Set resizeable image
    _balloonView.image = [self.balloonImageRight resizableImageWithCapInsets:_balloonInsetsRight];
}
else {
    // Received messages appear on left of view with additional display name label
    xOffsetBalloon = 0;
    xOffsetLabel = (BALLOON_WIDTH_PADDING / 2) + 3;
    yOffset = (BUFFER_WHITE_SPACE / 2) + nameSize.height - NAME_OFFSET_ADJUST;
    if (TRANSCRIPT_DIRECTION_LOCAL == transcript.direction) {
        _nameLabel.text = @"user";
    }
    else {
        _nameLabel.text = @"Admin"; //nameText;
    }
    // Set text color
    _messageLabel.textColor = [UIColor darkTextColor];
    // Set resizeable image
    _balloonView.image = [self.balloonImageLeft resizableImageWithCapInsets:_balloonInsetsLeft];
}

// Set the dynamic frames
_messageLabel.frame = CGRectMake(xOffsetLabel, yOffset + 5, labelSize.width, labelSize.height);
_balloonView.frame = CGRectMake(xOffsetBalloon, yOffset, balloonSize.width, balloonSize.height);
_nameLabel.frame = CGRectMake(xOffsetLabel - 2, 1, nameSize.width, nameSize.height);

不幸的是,我尝试将绿色气球放在右边的尝试没有成功(我只能将文本的内容放在右边,而不是气球本身)。有什么想法吗?

最佳答案

这里:

xOffsetLabel = 320 - labelSize.width - (BALLOON_WIDTH_PADDING / 2) - 3;
xOffsetBalloon = 320 - balloonSize.width;

320 是 iPhone 屏幕的宽度。这需要更改为 iPad 的宽度(1024 或 768,具体取决于方向)。

当然,您的 View 也需要与 iPad 屏幕一样宽,因此请确保它也已调整大小。

蒂姆

关于ios - 如何将气球图像设置到 View 的右侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22771835/

相关文章:

ios - iPad键盘渲染-缺少字母/按键

ios - iOS/iPhone/iPad:确定名片上放置的对象的大小

ios - 垂直滚动的UICollectionview中的分页,如何管理?

ios - 在IOS上自定义渲染Frame的CardView

ios - 推送 View Controller 时导航栏上不需要的阴影

iphone - 自动释放与释放

iphone - UIGraphicsGetImageFromCurrentImageContext 视网膜分辨率?

Xcode 4.5 的 iOS 模拟器不复制资源

objective-c - Nested NSDictionary 的访问对象

ios - iPad:不同分辨率下项目的具体/准确位置