findUILabel的底部位置,以便可以在下面创build第二个UILabel

我有一个新的文章,我正在创build。 正在为文章标题添加UILabel 。 标题文本有时可能是一行,两行或三行文本。 然后我需要在标题下面创build一个UILabel

由于标题具有dynamic高度,因此我无法定位dateUILabel

有一个计算来获得我的UILabel的框架的底部位置?

注:我正在使用siteToFit来确保UILabel的框架适合。

 // Text UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, self.view.bounds.size.width-20, 50)]; //title.backgroundColor = [UIColor clearColor]; title.backgroundColor = [UIColor redColor]; title.text = self.firstItem.title; //title.text = @"This is a test of a short title that is a little longer"; title.textColor = [UIColor whiteColor]; title.layer.shadowColor = [UIColor blackColor].CGColor; title.layer.shadowOffset = CGSizeMake(0, 0); title.layer.shadowRadius = 0.6; title.textAlignment = NSTextAlignmentLeft; title.layer.shadowOpacity = 1.0; title.layer.masksToBounds = NO; title.font = [UIFont boldSystemFontOfSize:16.0]; title.numberOfLines = 0; [title sizeToFit]; [self.firstNewsItemBackgroundView addSubview:title]; self.cachedParalax = self.firstNewsItemBackgroundView.frame; // Fix positioning title.center = CGPointMake(title.center.x, self.imageView.frame.size.height - title.frame.size.height); // Date UILabel *titleDate = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, self.view.bounds.size.width-20, 50)]; titleDate.backgroundColor = [UIColor clearColor]; titleDate.text = self.firstItem.publishedDateString; titleDate.textColor = [UIColor whiteColor]; titleDate.layer.shadowColor = [UIColor blackColor].CGColor; titleDate.layer.shadowOffset = CGSizeMake(0, 0); titleDate.layer.shadowRadius = 0.7; titleDate.textAlignment = NSTextAlignmentLeft; titleDate.layer.shadowOpacity = 0.95; titleDate.layer.masksToBounds = NO; titleDate.font = [UIFont italicSystemFontOfSize:12.0]; titleDate.numberOfLines = 0; [title sizeToFit]; [self.firstNewsItemBackgroundView addSubview:titleDate]; // Fix positioning CGRect frame = titleDate.frame; titleDate.frame = CGRectMake(10, title.center.y + (title.frame.size.height/2), frame.size.width, frame.size.height); 

好吧,看起来你有一个错字。 你再次调用[title sizeToFit]而不是[titleDate sizeToFit],这可能是问题的一部分。

至于定位你的date标签假设一个10px的空间:

 CGRect dateFrame = titleDate.frame; dateFrame.origin.y = title.frame.origin.y + title.frame.size.height + 10; [titleDate setFrame:dateFrame] 
Interesting Posts