SfTabView 标题剪辑缩放图像

Posted

技术标签:

【中文标题】SfTabView 标题剪辑缩放图像【英文标题】:SfTabView header clips zooming image 【发布时间】:2020-06-24 21:55:41 【问题描述】:

我们有 SfTabView,每个选项卡都将 UITableView 作为子内容托管。我们允许放大在表格单元格内的 UIScrollView 内托管的 UIImageView。当用户放大时,图像会正确缩放,但是 SfTabView 的标题会剪辑图像,尽管我们设置了单元格和图像正在缩放的​​“Layer.ZPosition = 1000”,尽管我们将 SfTabView.ClipsToBounds 及其子项设置为“假” .

可能是什么原因?

代码:

void HandleZPositionInRecursions(UIView v)
        
            if (v != null)
            
                v.ClipsToBounds = false;
                v.Layer.ZPosition = 1;

                foreach (var child in v.Subviews)
                
                    if (child != null)
                    
                        child.ClipsToBounds = false;
                        child.Layer.ZPosition = 1;

                        HandleZPositionInRecursions(child);
                    
                
            
        

我们明确地将缩放图像和滚动视图设置在缩放操作的顶部:

 imageScrollView.ViewForZoomingInScrollView += (UIScrollView sv) =>
        
            UITableView tab = null;
            this.Table.TryGetTarget(out tab);
            tab.ScrollEnabled = false;

            var parentView = sv.Superview;
            while (parentView != null)
            
                parentView = parentView.Superview;

                if (parentView is SfTabView sfTabView)
                
                    HandleZPositionInRecursions(parentView);
                
            

            this.Layer.ZPosition = 1000;
            imageView.Layer.ZPosition = 1000;
            sv.Layer.ZPosition = 1000;
            this.Superview.Layer.ZPosition = 100;

            tab.ClipsToBounds = false;
            imageScrollView.ContentSize = new`enter code here` CGSize(imageView.Frame.Width, imageView.Frame.Height);
            return imageView;
        ;

【问题讨论】:

【参考方案1】:

来自 Syncfusion 的问候。

我们检查了您更新中提供的代码 sn-p 并修改了您的代码 sn-p 以解决您面临的问题。请检查下面的代码,

代码片段:

void HandleZPositionInRecursions(UIView v)
    
        if (v != null && !(v is SfTabView))
        
            v.ClipsToBounds = false;
            v.Layer.ZPosition = 1;

            foreach (var child in v.Subviews)
            
                if (child != null)
                
                    child.ClipsToBounds = false;
                    child.Layer.ZPosition = 1;

                    HandleZPositionInRecursions(child);
                
            
        
    

示例 https://www.syncfusion.com/downloads/support/directtrac/general/ze/TabViewNativeSample-673496616

请检查以上内容,如果您有任何疑虑,请告诉我们。

问候,

拉比娅·贝汉姆.K

【讨论】:

很遗憾,我们试过了,但还是不能正常工作。

以上是关于SfTabView 标题剪辑缩放图像的主要内容,如果未能解决你的问题,请参考以下文章

TabView(页面样式)无法缩放以适应它的项目 swiftUI

使用 HTML 和 CSS 剪辑图像

如何使用顶部的按钮在 Flash 中缩放影片剪辑

SwiftUI:在 TabView 中调整图像的位置

如何调整 SVG 剪辑路径的大小?

SwiftUI:如何将图像更新为 TabView 中的填充/轮廓