समूह तालिका के लिए गोल कोने की पृष्ठभूमि को दिखाने के लिए ईसाई के तरीके के लिए एक और टिप।
यदि मैं cornerRadius = 10
सेल के लिए उपयोग करता हूं , तो यह चार कोने वाली गोल चयन पृष्ठभूमि को दर्शाता है। यह तालिका दृश्य के डिफ़ॉल्ट UI के साथ समान नहीं है।
तो, मैं कोनेरेडियस के साथ इसे हल करने के आसान तरीके के बारे में सोचता हूं । जैसा कि आप नीचे दिए गए कोड से देख सकते हैं, सेल के स्थान (टॉप, बॉटम, मिडल या टॉपबॉटम) के बारे में जांच सकते हैं और शीर्ष कोने या निचले कोने को छिपाने के लिए एक और उप परतों को जोड़ सकते हैं। यह केवल डिफ़ॉल्ट तालिका दृश्य की चयन पृष्ठभूमि के साथ ठीक वैसा ही दिखाता है।
मैंने iPad के साथ इस कोड का परीक्षण किया splitterview
। आप पैचलेयर के फ्रेम पोजीशन को बदल सकते हैं जैसे आपको जरूरत थी।
कृपया मुझे बताएं कि क्या समान परिणाम प्राप्त करने के लिए अधिक आसान तरीका है।
if (tableView.style == UITableViewStyleGrouped)
{
if (indexPath.row == 0)
{
cellPosition = CellGroupPositionAtTop;
}
else
{
cellPosition = CellGroupPositionAtMiddle;
}
NSInteger numberOfRows = [tableView numberOfRowsInSection:indexPath.section];
if (indexPath.row == numberOfRows - 1)
{
if (cellPosition == CellGroupPositionAtTop)
{
cellPosition = CellGroupPositionAtTopAndBottom;
}
else
{
cellPosition = CellGroupPositionAtBottom;
}
}
if (cellPosition != CellGroupPositionAtMiddle)
{
bgColorView.layer.cornerRadius = 10;
CALayer *patchLayer;
if (cellPosition == CellGroupPositionAtTop)
{
patchLayer = [CALayer layer];
patchLayer.frame = CGRectMake(0, 10, 302, 35);
patchLayer.backgroundColor = YOUR_BACKGROUND_COLOR;
[bgColorView.layer addSublayer:patchLayer];
}
else if (cellPosition == CellGroupPositionAtBottom)
{
patchLayer = [CALayer layer];
patchLayer.frame = CGRectMake(0, 0, 302, 35);
patchLayer.backgroundColor = YOUR_BACKGROUND_COLOR;
[bgColorView.layer addSublayer:patchLayer];
}
}
}