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]