标签: uiscrollview

在UIScrollView问题中裁剪缩放图像

完成此链接后,我的代码问题是输出图像无法设置正确的x和y值,因为裁剪后的图像似乎在结果图像中有0和0,无论我在哪里缩放(或计算滚动偏移的位置) .这是我尝试过的.

- (IBAction)crop:(id)sender
{

    float zoomScale = 1.0f / [self.scroll zoomScale];

    CGRect rect;
    NSLog(@"contentOffset is :%f,%f",[self.scroll contentOffset].x,[self.scroll contentOffset].y);
    rect.origin.x = self.scroll.contentOffset.x * zoomScale;
    rect.origin.y = self.scroll.contentOffset.y * zoomScale;
    rect.size.width = self.scroll.bounds.size.width * zoomScale;
    rect.size.height = self.scroll.bounds.size.height * zoomScale;

    UIGraphicsBeginImageContextWithOptions( CGSizeMake(rect.size.width, rect.size.height),
                                           NO,
                                           0.);

    NSLog(@"rect offset is :%f,%f",rect.origin.x,rect.origin.y);
    CGPoint point = CGPointMake(-rect.origin.x, -rect.origin.y); **//even though above NSLog have some values, but output image is unable to set proper x and y values as cropped image seems to have …
Run Code Online (Sandbox Code Playgroud)

zoom objective-c uiscrollview uiimage ios

0
推荐指数
1
解决办法
3013
查看次数

在UIScrollView的内容上检测触摸事件

我有一个UIScrollview里面有UIImageView.

如果我在添加到滚动视图之前向UIImageView添加手势,则不会触发触摸事件.

我想得到一个点击发生的UIImageView.

我已经看到了一些关于从UIScrollView获取触摸点然后根据位置计算UIImageView的答案 - 但这看起来非常混乱和矫枉过正.

有没有一种简单的方法可以从UIScrollView中的对象获取触摸事件?

xcode objective-c uiscrollview uiimageview ios

0
推荐指数
1
解决办法
2446
查看次数

如果我向下滚动或不向下滚动,我会在UIScrollView中获得相同的UIButton位置

我想在UIScrollView中获取UIButton的位置问题是,当UIButton位于其原始位置或向下滚动时,我得到相同的位置...

我正在使用NSLog打印位置,我得到相同的输出

这是我使用获得的位置代码的UIButton里面的UIScrollView ...

NSLog(@"%@", NSStringFromCGRect(CGRectMake(myButton.frame.origin.x, myButton.frame.origin.y, myScrollDown.frame.size.width, myScrollDown.frame.size.height)));
Run Code Online (Sandbox Code Playgroud)

有一种方法可以在我向下滚动后获得UIButton的实际位置?

还有另一种方法可以在ScrollView中获取UIButton的位置吗?

我已经访问了以下链接,但我还没有解决它.

将UIButton放在UIScrollView绝对屏幕位置

iPhone - 在整个UIWindow中获取UIView的位置

可可:框架和边界之间有什么区别?

谢谢你的帮助!

xcode objective-c uibutton uiscrollview ios

0
推荐指数
1
解决办法
600
查看次数

将UIScroll和UIPageControl从Objective C翻译为swift

你怎么写这个?我在翻译时遇到了麻烦,因为swift是我的第一语言,这都是用Objective C.编写的.

UIScrollView * scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * 3, scrollView.frame.size.height);
    scrollView.delegate = self;

    UIPageControl * pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 90, scrollView.frame.size.width, 20)];
    pageControl.numberOfPages = scrollView.contentSize.width/scrollView.frame.size.width;
    [pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];

Then you need to add the following two methods:

- (IBAction)changePage:(id)sender {
    CGFloat x = pageControl.currentPage * scrollView.frame.size.width;
    [scrollView setContentOffset:CGPointMake(x, 0) animated:YES];
}

-(void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView  {
    NSInteger pageNumber = roundf(scrollView.contentOffset.x / (scrollView.frame.size.width));
    pageControl.currentPage = pageNumber;
Run Code Online (Sandbox Code Playgroud)

uiscrollview uipagecontrol swift

0
推荐指数
1
解决办法
3665
查看次数

如何使用自动布局设置scrollview内容大小?

我有一个屏幕,我在自我视图中添加了1个滚动视图.标签栏和导航栏都在那里,对于iPhone 4,视图高度为455.I在滚动视图上添加了更多内容.滚动视图和自我视图的高度相同.但是当我无法为滚动视图设置内容大小时.即使我也设置它不工作.请帮助我.谢谢

constraints uiscrollview ios autolayout

0
推荐指数
1
解决办法
4653
查看次数

Swift - UIScrollView部分滚动

使用自动布局时,我的问题与其他'Swift UIScrollView'问题略有不同:

问题:与其他人不同,当我运行我的应用程序时,它会滚动.我的问题是滚动切断了20-30%的内容.我可以看到按钮确实构建并且在那里,但是当我放开它时,滚动回到假底部,这会切断我的内容!几天来,我一直在努力修复它以滚动整个高度,但它继续切断!!

app的描述:我使用自动布局来布局6个按钮和标签.每个按钮都是一个矩形图像,正下方有一个标签.(对不起,该网站不会让我发布图片!)

我的意见安排如下:MainView> ScrollView> ContentView>按钮和标签

我将我的contentView固定到我的ScrollView,并将我的ScrollView固定到我的MainView.我的按钮和标签都有正确构建的约束,以创建一个如下所示的列表:

矩形按钮下方的标签间距矩形按钮下方的标签间距等.

谁能告诉我为什么我不能滚动视图的全长?

scroll uiscrollview ios autolayout swift

0
推荐指数
1
解决办法
2241
查看次数

UIScrollView setZoomscale不适用于ViewWillApper

嘿伙计们我在谷歌上搜索了一下,并在这里阅读了一些关于堆栈溢出的主题,但没有一个云真的帮助我,所以我希望你能帮助我.我有一个UIWebView显示本地保存的PDF,它工作得很好,但我也想在加载PDF时设置缩放级别.我这样解决了.

 override func viewDidAppear(animated: Bool) {

    WebView.scalesPageToFit = true
    if(defaults.objectForKey("positionY") != nil){
        WebView.scrollView.setZoomScale(defaults.objectForKey("zoomlevel") as! CGFloat, animated: false)
        let offest = CGPoint(x: defaults.objectForKey("positionX") as! CGFloat, y: defaults.objectForKey("positionY") as! CGFloat)
        WebView.scrollView.setContentOffset(offest, animated: false)

        print(defaults.objectForKey("zoomlevel") as! CGFloat)
    }
Run Code Online (Sandbox Code Playgroud)

但这并不是很好,因为它对用户来说看起来很糟糕,所以我试图将我的代码移动到ViewWillAppear,但是它不再起作用了,并且pdf没有缩放.感谢任何解决方案的想法:)

编辑,因为我在下面写了一条评论,我在打印后打印了Zoomscale的值.

        WebView.scrollView.setContentOffset(offest, animated:false)
        println(defaults.objectForKey("zoomlevel") as! CGFloat)
        println(WebView.scrollView.zoomScale)
Run Code Online (Sandbox Code Playgroud)

如果我在ViewWillAppear或ViewDidLoad中执行此操作,则第一个值是保存的值,如1.82366,第二个值仍为1.0.如果我在ViewDidAppear中调用它,则第一个和第二个值相等,除了View的第一个外观(app start).因此,如果它启动App,它就像上面描述的ViewWillAppear一样,但如果我通过segue从另一个ViewController返回,它适用于ViewDidAppear.

uiscrollview ios swift

0
推荐指数
1
解决办法
518
查看次数

swift无法将按钮动态添加到滚动视图

这是我的代码

类ViewController:UIViewController {

@IBOutlet weak var d: UIScrollView!
let numberOfButtons = 50

override func viewDidLoad() {

    super.viewDidLoad()
    for index in 0..<self.numberOfButtons {
        let frame1 = CGRect(x: 20 + index, y: 20 + index, width: 45, height: 45 )
        let button = UIButton()
        button.frame = frame1
        button.titleLabel?.text = "asdfasdf"
        self.d.addSubview(button)
    }
}
Run Code Online (Sandbox Code Playgroud)

非常简单,当我运行模拟时,在滚动视图中看不到任何按钮。

我这样做是因为我只需要有一个滚动视图,其中包含比模拟可以包含的更多的项目,只需要检查滚动内容即可

uiscrollview ios swift

0
推荐指数
1
解决办法
3016
查看次数

如何在swift中创建像tinder一样的堆栈视图?

在此输入图像描述

我想使用swift在ios中创建这样的堆叠视图.是否可以通过使用uicollectionview或其他东西来实现这一目标?有人能指出我正确的方向吗?

我基本上想要的是类似于火种如何工作的东西.(是的,我已经看过这个库,但我想要一些简单而不使用现有解决方案)

uiscrollview ios uicollectionview swift

0
推荐指数
1
解决办法
2729
查看次数

在解除模态视图时,无法形成对UIScrollView子类(EXC_BAD_INSTRUCTION)的弱引用

大家好,我已经调试了这个问题很长一段时间但到目前为止没有运气.我在这里迷失了,并且不知道造成这次崩溃的原因以及如何解决它.如果有人能为我提供一些帮助,我将非常感激,非常感谢!

我准备了一个示例项目来在GitHub上演示这个问题.

方案如下:

  1. 有两个视图控制器,即根视图和模态视图,每个视图控制器都有一个自定义滚动视图(即类SubScorllView)作为子视图,模态视图有一个用于关闭模态视图的按钮.

  2. 滚动视图是UIScrollView的子类,每个子类都有相应的委托协议,它们的类层次结构如下:

UIScrollView的
∟SuperScrollView
.....∟SubScrollView

该应用程序以非常简单的方式启动和运行,在AppDelegate的didFinishLaunchingWithOptions中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor blackColor];

    RootViewController * rootVC = [[RootViewController alloc] init];
    self.navVC = [[UINavigationController alloc] initWithRootViewController:rootVC];
    self.navVC.navigationBarHidden = TRUE;

    self.window.rootViewController = self.navVC;
    [self.window makeKeyAndVisible];

    ModalViewController *modalVC = [[ModalViewController alloc] init];
    [self.navVC presentViewController:modalVC animated:YES completion:nil];

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

并且视图是从xib文件加载的,滚动视图的委托也在其中设置,并且有一些关于启动和设置滚动视图子类的委托的方法的覆盖.

当我通过单击模态视图中的"关闭"按钮关闭模态视图时出现问题,单击该按钮时,会发生以下情况:

- (IBAction)didPressedCloseButton:(id)sender {

    self.subScrollView.delegate = nil;
    [self dismissViewControllerAnimated:YES completion:nil];

}
Run Code Online (Sandbox Code Playgroud)

该应用程序崩溃在以下部分SuperScrollView:

- (void)setDelegate:(id<SuperScrollViewDelegate>)delegate …
Run Code Online (Sandbox Code Playgroud)

objective-c uiscrollview uiscrollviewdelegate ios

0
推荐指数
1
解决办法
2676
查看次数