Skip to content

Trouble Shooting

NamKiBeom edited this page Nov 6, 2020 · 3 revisions

ํ˜น์‹œ๋ชจ๋ฅผ.. ๋ฐœํ‘œ ๋Œ€๋น„

CollectionView Edit Mode

์„œ๋ก 

์ €ํฌ ์กฐ๋Š” ์ฒ˜์Œ์— edit mode๋ผ๋Š” ๊ฑธ ๋ชฐ๋ผ์„œ ๋„ค๋น„๊ฒŒ์ด์…˜๋ฐ” ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๊ฒฝ์šฐ, ๋‹ค์ค‘ ์„ ํƒ์„ ์œ„ํ•œ ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด registration์„ ์žฌ์„ค์ •ํ•ด์„œ ๋ทฐ๋ฅผ ๋‹ค์‹œ ๊ทธ๋ ค์คฌ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ.. ์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋‹ˆ๊นŒ swipeํ•ด์„œ delete ๋ฒ„ํŠผ์„ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ๋‹ค์ค‘ ์„ ํƒ ์ค‘์—๋„ swipeํ•˜๋ฉด delete ๋ฒ„ํŠผ์ด ๋‚˜ํƒ€๋‚˜๋Š” ๋”์ฐํ•œ ํ˜ผ์ข…์ด ํƒ„์ƒํ•ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค... ๐Ÿคฏ

์ด ๋ถ€๋ถ„์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ณ , ์ •์ƒ์ ์ธ ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

< inset์„ ๋„ฃ์–ด์ค˜์„œ view ์œ„์น˜๋ฅผ ์ด๋™์‹œ์ผฐ๋”๋‹ˆ .. ๋”์ฐํ•œ ํ˜ผ์ข…์ด ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.jpg >

๋ฒ„ํŠผ์ด ์ƒ์„ฑ๋  ๋•Œ, ์—๋‹ˆ๋ฉ”์ด์…˜๋„ ์„ค์ •์ด ๋ถˆ๊ฐ€๋Šฅํ–ˆ๊ณ  edit ๋ฒ„ํŠผ์„ ๋‹ค์‹œ ๋ˆŒ๋ €์„ ๋•Œ์—๋„ ์„ ํƒ ๋ฒ„ํŠผ์ด ์‚ฌ๋ผ์ง€์ง€์•Š๋Š” ๋ฌธ์ œ๊นŒ์ง€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

์ด๊ฑธ ์ง์ ‘ ์กฐ์ ˆํ•˜๋ ค๋‹ค๋ณด๋‹ˆ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒƒ ๊ฐ™์•„์„œ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๋กœ ๋Œ์•„๊ฐ”์Šต๋‹ˆ๋‹ค.

CollectionViewListCell์—์„œ acceesoies๋ฅผ ์ถ”๊ฐ€ ํ•  ๋•Œ, accessory๊ฐ€ ๋ณด์—ฌ์ง€๋Š” ์‹œ์ ์„ ์„ ์ •ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, whenEditing์ด๋ผ๋Š” ์˜ต์…˜์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์•„! ๊ทธ๋Ÿฌ๋ฉด "collectionView์—๋„ editing mode๊ฐ€ ์žˆ๊ฒ ์ง€..?" ๋ผ๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ collectionView์— ๋‚ด์žฅ ๋˜์–ด์žˆ๋Š” isEditing์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์•Œ์•„๋ƒˆ์Šต๋‹ˆ๋‹ค.

์œ ๋ ˆ์นด! ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๋งŒ์กฑํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์„ ์ฐพ๋‹ค๋ณด๋‹ˆ ์ž์ฒด์ ์œผ๋กœ ์ด๋ฏธ ๊ตฌํ˜„์ด ๋˜์–ด์žˆ๋Š” editButtonItem์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ์ด ๋ฒ„ํŠผ์„ ํ†ตํ•ด edit ์ „ํ™˜์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜์™€ ๊ฐ™์ด, viewDidLoad์—์„œ ๋ณ„๋‹ค๋ฅธ ์„ ์–ธ ์—†์ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

navigationItem.rightBarButtonItem = editButtonItem

์ด setEditing ๋ฉ”์„œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•ด์„œ editButtonItem๋ฅผ ํ„ฐ์น˜ํ•˜๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ์— editing์ด ๋ฐ˜์˜๋˜์–ด ์ž๋™์œผ๋กœ edit mode๋ฅผ ์กฐ์ ˆ ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

override func setEditing(_ editing: Bool, animated: Bool) {
        super.setEditing(editing, animated: animated)
        
        collectionView.isEditing = editing
        collectionView.allowsSelectionDuringEditing = editing
        collectionView.allowsMultipleSelectionDuringEditing = editing
}

๊ฒฐ๊ณผ

.. ์ด์˜๋‹ค..

Bottom card VC

https://user-images.githubusercontent.com/21030956/98319663-9ffcfa00-2024-11eb-972d-1dadc90ea970.png

Problem

  • ์ƒ์œ„ VC์— bottom card VC์„ embedํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ•จ. (์•„๋ž˜ ์ฝ”๋“œ ์ฐธ์กฐ)
addChild(bottomVC)
bottomVC.view.frame = CGRect(origin: .zero, size: view.frame.size)
view.addSubview(bottomVC.view)
bottomVC.didMove(toParent: self)
  • ํ•˜์ง€๋งŒ, ์ƒ๋‹จ navigation bar์— ๊ฐ€๋ ค์ง€๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•จ.

https://user-images.githubusercontent.com/21030956/98319928-2dd8e500-2025-11eb-94d2-d94ae726d4fe.gif

Solution

  • Key Window ํ™œ์šฉ

https://user-images.githubusercontent.com/21030956/98320344-12baa500-2026-11eb-9c1c-dfae5944c4b1.png

  • key window์— bottom card view๋ฅผ ์‚ฝ์ž…
var bottomViewController: IssueDetailBottomViewController?

func configureBottomView() {
	guard let bottomVC = storyboard?.instantiateViewController(identifier: "issueDetailBottomVC")
		as? IssueDetailBottomViewController
	else { return }

	bottomViewController = bottomVC
	let window = UIApplication.shared.windows.filter { $0.isKeyWindow }.first
	window?.addSubview(bottomVC.view)
}
  • ํ•ด๊ฒฐ! Bottom view๊ฐ€ navigation bar ์œ„๋กœ ๋ณด์—ฌ์ง.

[Group 19]

๐Ÿ“‘ Documents

๐Ÿค™ ํ˜‘์—… ๊ทœ์น™

๐ŸŽž ํ™œ๋™ ๊ธฐ๋ก

๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ

Week 1
Week 2
Week 3

๐Ÿ’ก ๊ทธ๋ฃน ํšŒ๊ณ 

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ ๊ธˆ์š”์ผ ํ”ผ์–ด์„ธ์…˜

WEB
iOS
Clone this wiki locally