问题
My requires is as below.
i have a added UILable
inside UIView width & height is 30
. i have set UIPinchGestureRecognizer
to that UIView
. Pinch in out functionality is working fine with UIView.
But my i want that when i zoom in UILable
font size and numberOfLine
automatically set in that UIView
.
So at initial UILable
not visible in View. When i Zoom in that time UILable
get the are to display text
so than UILable
will be visible (ex. This time in 3 line). If i increase the Zoom level than text will be display in one row.
how can archive this functionality ?
See the below screenshot What i want to do
******** Image 1 ***************** ******** Image 2 ***************** ******** Image 3 *****************Thanks in Advance ..
回答1:
See this: resize all subview in scrollViewDidZoom
On scrollViewDidZoom
you can set the font size proportionally to zoomScale. I would suggest to set numberOfLines
to 0 on label, but of course you can set it manually too when zooming in/out.
回答2:
You can use the delegate to detect when the zoom changes, and make your label visible then:
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
if (scrollView.zoomScale > minimunScaleToShowZoom)
{
myLabel.hidden = NO;
}
else
{
myLabel.hidden = YES;
}
}
Play with different values for minimunScaleToShowZoom
and check which one suits you.
来源:https://stackoverflow.com/questions/19728213/uilable-numberoflines-and-font-size-automatically-set-during-zoom-in-out-time