【问题标题】:How to remove text after drawInRect?如何在drawInRect之后删除文本?
【发布时间】:2012-06-13 10:13:38
【问题描述】:

我有一个名为 BackgroundText 的 UIView 子类来绘制一些文本。

-(void) drawRect:(CGRect)rect
{
    [@"synchronized." drawInRect:CGRectMake(0, 29, 320, 60) withFont:bigFont lineBreakMode:UILineBreakModeTailTruncation alignment:UITextAlignmentRight];
}

--

backgroundText = [[MMRoomBackgroundText alloc] initWithFrame:CGRectMake (0, 142 + 44, 320, 80)];
[self.view addSubview:backgroundText];

我希望[backgroundText removeFromSuperview]; 可以从屏幕上删除这些文本,但它不起作用。

谢谢。

【问题讨论】:

    标签: iphone nsstring


    【解决方案1】:

    您需要在视图上调用setNeedsDisplay 并检查。

    【讨论】:

    • 你是说我打电话给[backgroundText removeFromSuperview];之后?试过但失败了。
    【解决方案2】:

    希望对你有帮助。

    这里 LoadingBG 是我的视图LoadingText 是我的标签 我正在将文本放入标签中并添加在视图中添加标签,然后在不需要文本时从 SuperView 中删除视图。

    添加文字:

    UIView * LoadingBG = [UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460);
    UILabel *LoadingText = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 50)] autorelease];
    LoadingText.text = @"Loading...";
    LoadingText.backgroundColor = [UIColor clearColor];
    [LoadingBG addSubview:LoadingText];
    

    对于删除文本:

    [LoadingBG removeFromSuperview];
    

    在这里,我为视图和标签使用了固定大小。你可以使用你想要的作为框架。

    【讨论】:

    • 这可能是因为我每次需要它时都会初始化一个新的 backgroundText。将初始化代码放在 viewDidLoad 后,它就可以工作了。谢谢巴普和阿卜杜拉
    猜你喜欢
    • 2011-12-16
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    相关资源
    最近更新 更多