gpt4 book ai didi

iphone - 将 UIButton 附加到 NSString

转载 作者:行者123 更新时间:2023-11-29 04:41:49 26 4
gpt4 key购买 nike

我有这段代码可以在 SQLite DB 的 TextView 中显示一些文本..

NSMutableString *combined = [NSMutableString string];
for(NSUInteger idx = 0; idx < [delegate.allSelectedVerseEnglish count]; idx++) {
[combined appendFormat:@" %d %@", idx, [delegate.allSelectedVerseEnglish objectAtIndex:idx]];
}

self.multiPageView.text = combined;
self.multiPageView.font = [UIFont fontWithName:@"Georgia" size:self.fontSize];

delegate.allSelectedVerseEnglishNSArraymultiPageViewUITextView

我使用上面的循环函数来根据文本获取数字,例如1 hello 2 iPhone 3 iPad 4 mac等等等。我只想要UIButton在文本之间而不是 1 2 3 4 .. 例如,我想要 unbutton hello unbutton iPhone 等。因为我需要从中创建一些触摸事件。如何做这?提前致谢。

最佳答案

如果你想将 UIButtons 放置在 textview 中的某些文本之间,没有其他方法,只能将其作为单独的 View 放置在上面。因此,您需要在这些按钮下方添加空格,您应该根据按钮的大小自行计算这些空格的数量。所以,如果您希望看到这样的内容:

Press here [UIButton] or here [Another UIButton],

你的文本字符串应该是这样的

Press here            or here                   ,

因此,当您在这些位置添加按钮时,它看起来就像您希望的那样。

更新

似乎我们需要更多代码,所以这里是:首先,您需要计算字母的大小。我们假设它的高度为 10 像素,宽度为 8 像素。不,我们将其称为 letterHeightletterWidth。我们还假设您需要 64x10 像素的按钮。因此,我们需要 64/8=8 +2 个空格在该按钮后面(2 个空格用于在该按钮周围制作边框)那么,我们开始吧

NSMutableString *combined = [NSMutableString string];
int letterHeight = 10;
int letterWidth = 8;
for(NSString *verse in delegate.allSelectedVerseEnglish) {
[combined appendFormat:@" %@",verse];//10 spaces there
//You have to experiment with this, but idea is that your x coordinate is just proportional to the length of the line you are inserting your button in, and y is proportional to number of lines
int xCoordinate = [combined length]*letterWidth%(int)(self.multiPageView.frame.size.width);
int yCoordinate = [combined length]*letterWidth/(int)(self.multiPageView.frame.size.width)*letterHeight;

UIButton *newButton = [[UIButton alloc]initWithFrame:CGRectMake(xCoordinate,yCoordinate,64,10)];
[self.multiPageView addSubview:newButton];
}
self.multiPageView.text = combined;

关于iphone - 将 UIButton 附加到 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10269730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com